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