顾名思义,匿名函数就是没有实际名字的函数。
要调用一个函数,我们必须要有方法定位它,引用它。所以我们会需要帮它找一个名字,如下代码
var abc = function(x,y){ return x+y;}
alert(abc(2,3)); //其值为5
对匿名函数的调用其实还有一种做法,也就是我们看到的jQuery片段——使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。这样这个函数就可以被调用了。如下代码
alert((function(x,y){return x+y})(2,3));//其值为5
大家可能会觉的奇怪,为什么这种方法能成功调用?其主要是小括号的作用了。
小括号能把我们的表达式组合分块,并且第一块,也就是每一个小括号,都有一个返回值。这个返回值实际上也就是小括号表达式的返回值。所以,当我们用一对小括号把匿名函数括起来时,实际上小括号对返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。