JavaScript 函数
函数跟随一对圆括号()表示函数调用
//函数声明语句写法 function test(){}; test(); //函数表达式写法 var test = function(){}; test();
但有时需要在定义函数之后,立即调用该函数。这种函数就叫做立即执行函数,全称为立即调用的函数表达式IIFE(Imdiately Invoked Function Expression)
IIFE一般用于构造私有变量,避免全局空间污染
[注意]javascript引擎规定,如果function关键字出现在行首,一律解释成函数声明语句
所以,解决方法就是不要让function出现在行首,让引擎将其理解成一个表达式
最常用的两种办法
(function(){ /* code */ }()); (function(){ /* code */ })();
其他写法
var i = function(){ /* code */ }(); true && function(){ /* code */ }(); 0, function(){ /* code */ }(); !function(){ /* code */ }(); ~function(){ /* code */ }(); -function(){ /* code */ }(); +function(){ /* code */ }(); new function(){ /* code */ }; new function(){ /* code */ }();