匿名函数

匿名函数就是没有名字的函数,事实上我们可以将函数也看成一种数据,可以将它赋值给一个变量。


定义函数的第二种方法:使用函数表达式定义函数

例:如下,这里的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节 函数>中的内容);用函数变量定义。
  • 函数可以没有名字。

results matching ""

    No results matching ""