1. 什麼是自執行的匿名函式?
它是指形如這樣的函式: (function )();
2. 疑問
為什麼(function )();可以被執行, 而function ();卻會報錯?
3. 分析
(1). 首先, 要清楚兩者的區別:
(function )是表示式, function 是函式宣告.
(2). 其次, js"預編譯"的特點:
js在"預編譯"階段, 會解釋函式宣告, 但卻會忽略表式.
(3). 當js執行到function() ();時, 由於function() 在"預編譯"階段已經被解釋過, js會跳過function(), 試圖去執行();, 故會報錯;
當js執行到(function )();時, 由於(function )是表示式, js會去對它求解得到返回值, 由於返回值是一 個函式, 故而遇到();時, 便會被執行.
js匿名自執行函式
匿名自執行函式 沒有方法名的函式 閉包 閉包是指有權訪問另乙個函式作用域變數的函式 通過乙個例項來解釋 從網上找到了乙個案例,使用了for迴圈 匿名自執行函式 settimeout。案例1 var value1 0,value2 0,value3 0 for var i 1 i 2 i 1 sett...
關於匿名函式自執行
賦值式 將匿名函式賦給變數 表示式定義法 宣告式 var fn 01 function fn 01 如果想呼叫fn 01函式,寫該函式的名稱,然後寫小括號就可以了 將乙個匿名函式用小括號括起來,後面加乙個小括號,表示匿名函式的自執行 可以防止變數汙染 function 帶引數的匿名函式自執行 fun...
JS匿名函式自執行函式
js匿名函式自執行函式 function function 這是乙個函式,函式後面接 則是呼叫函式 比如 function arg 4 則輸出4 好處 放在裡面,不會汙染外面的變數,也保護了自己,外面呼叫不了裡面的函式和變數。在js中寫大量 可以防止變數衝突和錯誤呼叫。外掛程式常用的是 functi...