亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript中的這種做法叫什么?

JavaScript中的這種做法叫什么?

當您將JavaScript代碼包裝在這樣的函數中時:(function(){  var field = ...;  function doSomthing(){...  ...})();我注意到,這為許多網頁上的我解決了范圍界定問題。這種做法叫什么?
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

該模式稱為自調用self-invocation),一種自調用功能。它可以創建一個閉合,但這是模式的效果(也許是預期的效果),而不是模式本身。


查看完整回答
反對 回復 2019-10-26
?
www說

TA貢獻1775條經驗 獲得超8個贊

為了澄清下面的評論,在大多數情況下,它創建一個閉包時,它將變量的范圍限制在該局部閉包中,這樣就不會創建全局變量,既可以使事情保持整潔,又可以避免對這些變量進行任何不必要的更改。


這里有一些出色的答案,解釋了其中的原因:javascript閉包是如何工作的?


通常情況下,只有當該作用域中的某些內容暴露于外部作用域時,這才是創建閉合,但是我不能確定您的示例是否會看到更多代碼。如果沒有暴露任何東西,那么就不會創建任何閉包...否則,它只是一個立即執行的匿名函數。


與之})();相反的});是,最后的格式實際上是在沒有參數的情況下立即調用該閉包以立即執行。如果你曾在它的東西,例如})(something);那么這something將作為第一個參數在這里進行傳遞:(function(somethingParam){。


查看完整回答
反對 回復 2019-10-26
  • 3 回答
  • 0 關注
  • 599 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號