js中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。
好,看看匿名函数的如何被调用。
1、执行后得到返回值的函数调用
//方式1,调用函数,得到返回值。强制运算符使函数调用执行 (function(x,y){ alert(x+y); return x+y; }(3,4));
//方式二,调用函数,得到返回值。强制函数直接量执行再返回一个引用,引用再去调用执行 (function(x,y){ alert(x+y); return x+y; })(3,4);
2、执行后忽略返回值
//方式三,调用函数,忽略返回值 void function(x) { x = x-1; alert(x); }(9);
嗯,最后看看错误的调用方式
//错误的调用方式 function(x,y){ alert(x+y); return x+y; }(3,4);
错误原因见:javascript中大括号“{}”的多义性