函数
什么是函数(函数的概念)?
函数就是一段可重复执行,重复被调用的代码
块。函数可以被调用,被执行。函数也分为有参函数和无参函数,可以利用关键字return设置有无返回值
函数的定义
声明式定义函数:
function fn(){}
如上所示,用function关键字定义,后面接函数名、
传参块()以及功能块{},这一整串块代码体就被成为
函数
赋值式定义函数
var fn = function(){}
用 var 关键字定义,后面接函数名,再接赋值号(=)
和 function 关键字和参数块()和功能块{},这也是函
数。
函数参数
- 函数参数放在函数参数块内,即()内,函数参数也分为形参和实参,参数块内的参数 为形参,调用函数时传递的参数为实参。
举个例子:
function print(a){
alert(a);
}
print(b);
最终输出结果为b。
在这个例子里,a就是形参,他是用来代表一个
未知数值,在函数还未得到实际数
值之前的一个表示方式。
b就是实参,是一个真实需要运算的数值
函数作用域
- 函数作用域可以理解为函数的适用范围,函数有全局作用域和局部作用域
咱们依旧举个例子,来观察全局作用域和局部作用域的区别。
var a = "你好";
function func1() {
var b = "你好不好";
function func2() {
alert(b);
}
c();
}
alert(a); //你好
alert(b); //报错
func1(); //你好不好
c() //报错
在这个例子中,在函数最外部定义的变量a,可以被任意访问,而在函数内部的变量b在该函数没有
被调用的情况下 是找不到变量b的 ,所以在函数外打印b会报错。
咱们再举个例子
function fun1() {
var a = "你好";
b = "你好不好";
alert(a);
}
fun1(); //你好
alert(b); //你好不好
alert(a); //报错
在这个例子里我们可以看到,即使变量b在函数内部,在没有调用该函数情况下依旧可以被访问,
所以判断一个变量是全局还是局部并不只是看是否在函数外部。
总结一下,在最外层函数外部声明的变量为全局变量,即可以在代码中任何地方都可以被访问到,
函数内部声明的变量为局部变量,局部变量只能在所在函数被调用时,所在函数内部起作用。
若变量不定义直接赋值,在函数内部被执行后也为全局变量。
函数调用
提及了这么多次函数调用,那么该怎么调用函数呢,举个例子:
function func(){
alert("我是函数,我被调用了")
}
func();//我是函数,我被调用了
这就是一个简单的函数调用。
【格式】函数名(参数) / 变量.函数名(参数)
是否带参根据所调函数需求填写。
函数返回值
函数返回值由关键字return定义
【格式】function(){ return 表达式/变量;}
return 返回的值可以被接受,可以继续拿着这个值进行其他操作,老规矩,举个例子。
//能产生0到任意数字之内的随机数
function random(num){
var ran = Math.random()*num;
return ran;
}
random(100);
上面代码利用函数实现了随时实现产生0到任意数字之间的随机数,我们只需要用一个变量来接收这个
随机数,就可以拿这个变量执行更多的操作
return 也有终止的功能,在函数内,写在return后面的函数将不会执行。但不像break一样,return只
能在函数内运行,在函数外return将不起作用。
好了,本文章就到这了,其实关于函数内容细节还有许多,想一次列举出来不太现实,若以后有时间,
再慢慢列举出来。