匿名函数可以有效控制变量作用域,构造闭包 (Closure),防止对全局变量造成污染。在 JavaScript 中,编写匿名函数,有以下几种方法:
错误模式:语法错误警告
function(){
// insert code here
}();模式一:函数字面量 (Function Literal)
先声明函数对象,然后执行。
(function(){
// insert code here
})();模式二:优先表达式 (Prior Expression)
由于 JavaScript 按照从内到外的顺序执行表达式,因此使用括号来强制执行已声明的函数。
(function(){
// insert code here
}());模式三:Void 操作符 (Void Operator)
使用 Void 操作符执行一个单独的操作数。
void function(){
// insert code here
}();从技术上讲,这三种代码模式是等价的。但在实际应用中,例如 YUI、jQuery 等框架,模式一更被广泛使用。