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

為了賬號安全,請及時綁定郵箱和手機立即綁定

他是如何實例的?是我漏了什么知識點嗎

我有一點不明 ,為何他外面要套function(global){}(this).視頻中說這是要防止變量或者內部函數泄露?。∮谑?,為題來了,外部的對象是如何以里面的函數做為構造器的?東西都被封死了,如何在外部實例化?看了整個視頻,就這里不理解

正在回答

4 回答

? Object.defineProperties(global, {

? ? DetectorBase: { value: DetectorBase },

? ? LinkDetector: { value: LinkDetector },

? ? ContainerDetector: { value: ContainerDetector },

? });

// 上邊的定義把這些變量掛載到global上了,在瀏覽器相當于window.DetectorBase =?DetectorBase;

0 回復 有任何疑惑可以回復我~

Object.defineProperties在全局定義了與那幾個構造函數同名的屬性,這些屬性的值就是這幾個構造函數,所以可以在全局通過這些屬性訪問到構造函數

1 回復 有任何疑惑可以回復我~

僅僅是立即執行的匿名函數,不是塊級作用域 ??[塊級作用域方法 ? function (){})()? 塊級作用域 函數外層有括號],這里寫錯啦,不好意思

0 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//572424c00001361806820493.jpg

構造函數 和 原型對象的方法 都是 在 第一個 立即執行的匿名中(模擬的塊級作用域:貌似),其中通過 Object。defineProperties ?將部分 方法提升 到全局作用域 ,圖中標藍部分。所以外部可以使用。(貌似是這樣的,如有不準確,請指正)

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

他是如何實例的?是我漏了什么知識點嗎

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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