函数
函数:函数就是可以重复执行的代码块,如果函数名相同,后面的函数会覆盖前面的函数。(函数名,不能一样。JavaScript没有函数的重载。函数不调用不执行。加载函数的时候,只加载函数名,不加载函数体。函数也是一种数据类型。
调用一个函数就等于执行这个函数并且得到这个函数的返回值。
函数名就是整个函数。
两个平级的函数中的变量不会相互影响(可以使用同样的形参名)
JS加载的时候,只加载函数名,不加载函数体。所以如果想使用内部的成员变量,需要调用函数。
函数的定义:
关键字:function。
第一种
function 函数名(参数)
{
程序块;
}
第二种(匿名函数)
var 函数名 = function (){
程序块;
}
第三种
var 函数名 = new Function( 程序块);
参数
参数:参与运算的变量。为了增强函数的功能性,和程序员的交互性,和函数的可拓展行。参数相当于局部变量。
- 形参
形式上参与运算的变量,无实际值,为实参占位置,就像一个躯壳一样。(可以理解为函数的内部变量外部无法访问) 实参
实际参与运算的变量。形参为他占位置,真实参与运算的变量。
注意:如果形参个数与实参个数不匹配(一般情况下,不会让形参和实参不匹配)
1.相等的话,正常执行。
2.实参大于形参,正常执行。(多余的实参,函数不使用)
3.实参小于形参,要看你的程序是否报错。(报错,NaN
,undefined
)
4.未给定实参的形参为undefined
;返回值
- 有
return
函数就有值;没有return
函数就没值; - 函数程序运行后的结果外部需要使用的时候,我们不能直接给与,需要通过return返回。
- 总结:函数内部,
return
后面的值就是返回值; - 作用:函数执行后剩下结果就是返回值。
- 函数执行完毕,会不会留下点儿什么,取决于有没有返回值。
注意:
- 如果函数没有显示的使用
return
语句 ,那么函数有默认的返回值:undefined
- 如果函数使用
return
语句,那么跟再return
后面的值,就成了函数的返回值 - 如果函数使用
return
语句,但是return
后面没有任何值,那么函数的返回值也是:undefined
。 - 函数使用
return
语句后,这个函数会在执行完return
语句之后停止并立即退出,也就是说return
后面的所有其他代码都不会再执行。
匿名函数
定义:匿名函数就是没有名字的函数。
作用:
1.不需要定义函数名的时候。
2.书写起来更简便。
匿名函数的调用有三种方法:
- 直接调用或自调用。
(function(){alert(1)})()
事件绑定。
document.onclick = function () { alert(1); }
定时器。
setInterval(function () { console.log(444); },1000);
回调函数
执行函数就等于:函数名+(); 整个函数+();
回调函数就是函数作为参数进行传递。
回调函数一般是用于定义一个规则来使用的。
规则的传递只能通过函数实现。通过变量无法达成。所以我们需要传递规则的时候必须使用回调函数。//回调函数:函数作为参数进行传递和使用。 function fn(demo){ demo(); } function test(){ console.log("我是被测试的函数!"); }