js匿名函式自執行的好處

2022-07-11 01:54:10 字數 1281 閱讀 3903

我們知道,在建立乙個函式時如果要用到變數來訪問資訊的話,要盡量使用區域性變數。

因為一方面區域性變數會隨著函式的執行結束被銷毀;另一方面在不執行函式的時候也不會建立這個區域性變數,對節省空間資源有很大的好處。

下面我們來看乙個案例:

var num = 1;//全域性變數num

function a()

function b()

a(); //呼叫函式a,結果會在控制台列印1

b(); //呼叫函式b,結果會在控制台列印1

上面這個案例裡的變數num就是乙個典型的全域性變數。

那麼我們要怎麼把num變成區域性變數呢?

方法一:

function a() 

function b()

a(); //呼叫函式a,結果會在控制台列印1

b(); //呼叫函式b,結果會在控制台列印1

上面這種方法雖然解決了全域性變數的問題,但是多次定義相同變數num。使得**冗餘,不夠優化。這種方法不推薦

方法二:

var demo = function() 

function b()

}demo(); //呼叫函式demo,獲得函式a、函式b、變數num

a(); //呼叫函式a,結果會在控制台列印1

b(); //呼叫函式b,結果會在控制台列印1

上面這種方法二將num、函式a、函式b都寫在乙個demo函式裡,這樣就將變數num變成了乙個區域性變數,而且函式a和函式b也都可以訪問到變數num

但是,這種方法也有弊端。

如果函式demo不執行,就無法獲取函式a、函式b、變數num。

demo也是乙個全域性變數。也就是說我們雖然沒有定義全域性變數num,卻又定義了乙個全域性變數demo。顯然這並沒有達到我們最初的目的。

每次呼叫函式a和函式b之前都得先呼叫demo,這樣會使**冗餘。萬一我們哪次忘記呼叫demo了怎麼辦呢?

所以,這種也不推薦。

那我們該怎麼辦呢?==>匿名函式自執行

廣州品牌設計公司

(function () 

function b()

a();

b();

})();

匿名函式自執行沒有定義任何乙個全域性變數,我們也不用每次先呼叫外面的函式獲取裡面的內容。完美的解決了我們的需求。極力推薦。

js匿名自執行函式

匿名自執行函式 沒有方法名的函式 閉包 閉包是指有權訪問另乙個函式作用域變數的函式 通過乙個例項來解釋 從網上找到了乙個案例,使用了for迴圈 匿名自執行函式 settimeout。案例1 var value1 0,value2 0,value3 0 for var i 1 i 2 i 1 sett...

JS匿名函式自執行函式

js匿名函式自執行函式 function function 這是乙個函式,函式後面接 則是呼叫函式 比如 function arg 4 則輸出4 好處 放在裡面,不會汙染外面的變數,也保護了自己,外面呼叫不了裡面的函式和變數。在js中寫大量 可以防止變數衝突和錯誤呼叫。外掛程式常用的是 functi...

JS 關於自執行的匿名函式

1.什麼是自執行的匿名函式?它是指形如這樣的函式 function 2.疑問 為什麼 function 可以被執行,而function 卻會報錯?3.分析 1 首先,要清楚兩者的區別 function 是表示式,function 是函式宣告.2 其次,js 預編譯 的特點 js在 預編譯 階段,會解...