對自執行函式與閉包的理解
(function
() ()); // 推薦使用這個
(function
() )(); // 但是這個也是可以用的
// 由於括弧()和js的&&,異或,逗號等操作符是在函式表示式和函式宣告上消除歧義的
// 所以一旦解析器知道其中乙個已經是表示式了,其它的也都預設為表示式了
//說白的,下邊這三行,因為有了+ , && 他們後邊的式子不會再報錯了,已經把他們看成乙個表示式了(乙個整體)
var i = function
() ();
true && function
() ();
0, function
() ();
var elems = document.getelementsbytagname('a');
for (var i = 0; i < elems.length; i++) , 'false');
})(i);
}var counter = (function
() ,
set: function
(val) ,
increment: function
() };
} ());
對自執行函式的理解
函式宣告 使用關鍵字function宣告乙個函式,再指定乙個函式名 function fnname 函式表示式 使用關鍵字function宣告乙個函式,但是不指定函式名,將匿名函式賦予乙個變數,叫函式表示式 var fnname function 匿名函式 使用關鍵字function宣告乙個函式,但...
JS閉包 自執行函式小記
閉包概念 閉包就是就是函式的 堆疊 在函式返回後並不釋放,當在乙個函式內定義內部函式就會產生閉包 當乙個內部函式被呼叫,就會形成閉包,閉包就是能夠讀取其他函式內部變數的函式 閉包就是函式的區域性變數集合,只是這些區域性變數在函式返回後會繼續存在。舉個栗子 期望返回結果 內部函式中執行次數 0 內部函...
js函式的自執行和閉包
有些人叫這個是自執行的匿名函式 即便它不是 因為它沒有呼叫自身,它只是立即執行而已。function 為函式表示式新增乙個標示名稱,可以方便debug 但一定命名了,這個函式就不再是匿名的了 function foo 建立乙個立即呼叫的匿名函式表示式 return乙個變數,其中這個變數裡包含你要暴露...