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