匿名函数
匿名函数就是没有名字的函数,事实上我们可以将函数也看成一种数据,可以将它赋值给一个变量。
定义函数的第二种方法:使用函数表达式定义函数
例:如下,这里的Say本质上是一个指向函数对象的变量,我们称为函数变量
var Say = function(){
for(var i = 0; i < 3; i++){
console.log("重要的话说3遍:李康是帅哥!");
}
};
注意上面的例子,“=”右边的函数就是一个匿名函数,创建完毕函数后,又将该函数赋给了变量Say。
匿名函数的定义
上面例子我们定义了一个匿名函数,然后将它赋值给一个函数变量Say。我们通常还会使用另一种方式定义匿名函数。
这里创建了一个匿名函数(在第一个括号内),第二个括号用于调用该匿名函数:
(function(){
for(var i = 0;i < 3; i++){
console.log("重要的话说3遍:李康是帅哥");
}
})()
如果函数有参数,可在第二个括号中传入参数:
(function(x, y){
alert(x + y);
})(2, 3);
匿名函数的调用
如果是用函数变量的方法定义的匿名函数,通过函数名称调用,如下:
var Say = function(){
for(var i = 0; i < 3; i++){
console.log("重要的话说3遍:李康是帅哥!");
}
};
Say(); //调用Say函数
var say_sth = Say; //将变量Say赋值给say_sth,注意这里没有小括号"()"
bar(); //相当于调用Say();
如果是第二种方式定义的匿名函数,会自动调用执行,我们又称为自运行函数,具体在第6节讲解
小结
- 定义函数的两种方式:用function关键字直接定义(参见 <第1节 函数>中的内容);用函数变量定义。
- 函数可以没有名字。