摘要:每一個對象中都會有一個叫的屬性,類型野是,也是一個引用對象。首先,當引擎執行操作時,會馬上開辟一個塊內存,創建一個空對象并將指向這個對象。
JS的new操作到底干了些什么呢?我們一步一步來看。
比如我定義了一個function,并執行new操作:
function Foo(){} var foo = new Foo();
補補腦:
每一個函數中都會有一個叫prototype的屬性,類型是object,即一個引用對象。
每一個對象中都會有一個叫__proto__的屬性,類型野是object,也是一個引用對象。
首先,當JavaScript引擎執行new操作時,會馬上開辟一個塊內存,創建一個空對象(并將this指向這個對象)。
接著,執行構造函數Foo(),對這個空對象進行構造(構造函數里有什么屬性和方法都一一給這個空白對象裝配上去,這就是為何它叫構造函數了)。
然而,給這個空對象添加了一個叫__proto__的屬性,而且這個__proto__指向Foo()的prototype對象。換句話說,就是__proto__ = prototype;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78252.html
摘要:最近項目用到谷歌地圖,但是看谷歌文檔,對于國人來說,還是比較吃力的,網上找資料也并沒有太多的資料,所以就想分享給大家。顯示了整個地球地圖的完全縮放。 最近項目用到谷歌地圖,但是看谷歌api文檔,對于國人來說,還是比較吃力的,網上找資料也并沒有太多的資料,所以就想分享給大家。但是因為本人太懶了,每次研究技術完事時間一久就忘了,更別提分享了,在朋友的鼓勵支持之下,重新開始寫博客,共享給大家...
摘要:策略模式定義一系列的算法把它們一個個封裝起來并且使它們可相互替換。策略模式要素策略接口,用來約束一系列具體的策略算法。策略模式策略購買輛總金額策略購買輛總金額策略模式優點算法可以自由切換。策略模式缺點策略類會增多。所有策略類都需要對外暴露。 策略模式 定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。本模式使得算法可獨立于使用它的客戶而變化。策略模式是把一個類中經常改變或...
摘要:創建階段在這個階段中,執行上下文會分別創建變量對象,建立作用域鏈,以及確定的指向。檢查當前上下文中的參數,建立該對象下的屬性與屬性值。全局上下文的變量對象以瀏覽器中為例,全局對象為。前端基礎進階系列目錄 showImg(https://segmentfault.com/img/remote/1460000008321426); 開年之后工作熱情一直不是很高,這幾天一直處于消極怠工狀態。...
摘要:檢查上下文中的參數,建立該對象下的屬性與屬性值檢查當前上下文的函數聲明,也就是使用關鍵字聲明的函數。 function test() { console.log(a); // undefined console.log(foo()); // 2 var a = ...
摘要:例如在中加入配置塊進行配置例如,直接在代碼文件中以注釋的方式定義需要注意的是,代碼文件內以注釋配置的規則會覆蓋配置文件里的規則,即優先級要更高。 在 Vue-cli 創建的項目中,使用了 ESLint 規范代碼的項目中如何針對單個js文件禁用ESLint語法校驗,但整個項目依然保留 ESLint 的校驗規則? 在代碼頂部添加一行注釋 /eslint-disable/ (兩個/中間有兩...
閱讀 1762·2021-11-24 09:39
閱讀 1690·2021-11-22 15:22
閱讀 1010·2021-09-27 13:36
閱讀 3243·2021-09-24 10:34
閱讀 3336·2021-07-26 23:38
閱讀 2635·2019-08-29 16:44
閱讀 978·2019-08-29 16:39
閱讀 1110·2019-08-29 16:20