通常JavaScript建立閉包比較常用的有兩種方式。
建構子方式:
new function() { var 变量... }
內嵌執行方式:
(function() { var 变量... })();
在JavaScript內部運作機制下他們有什麼差別?用哪種方式創建比較好?它與其它方式創建的閉包相比有什麼優勢?
我是這樣理解的:
區別:
第一個:子方法可以共用變數
第二個:內部子方法共享變數
比較:
我認為內嵌的比較好;
優勢:
一般內聯的創建是按需索要內存,因為只是局部執行的變量在內存裡,可以將相關的和具有依賴性的代碼組織起來,以便將意外交互的風險降到最低,構造那個所有的方法執行變數都要保存在記憶體裡,這樣會影響網頁的效能,建議退出前刪除變數
當然這只是我的個人理解,其實一般都用閉包需要特別主要在IE內核瀏覽器下產生記憶體洩漏,最好是變數使用完就乾掉。
以上所述就是本文的全部內容了,希望大家能夠喜歡