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