立即执行函数的 N 种写法

2018-08-30  本文已影响0人  sunxiaochuan

出处

函数 - JavaScript 教程 - 网道 ---- 立即调用的函数表达式(IIFE)

代码

(function(){ /* code */ }());
// 或者
(function(){ /* code */ })();

以圆括号开头,引擎就会认为后面跟的是一个表示式,而不是函数定义语句

var i = function(){ return 10; }();
true && function(){ /* code */ }();
0, function(){ /* code */ }();
!function () { /* code */ }();
~function () { /* code */ }();
-function () { /* code */ }();
+function () { /* code */ }();
// 写法一
var tmp = newData;
processData(tmp);
storeData(tmp);

// 写法二
(function () {
  var tmp = newData;
  processData(tmp);
  storeData(tmp);
}());

上面代码中,写法二比写法一更好,因为完全避免了污染全局变量。

上一篇 下一篇

猜你喜欢

热点阅读