首頁 > web前端 > js教程 > 主體

javascript中以new形式建立物件的過程

伊谢尔伦
發布: 2016-12-10 09:36:10
原創
1565 人瀏覽過

JS的new操作到底做了些什麼呢?我們一步一步來看。

例如我定義了一個function,並執行new操作:

function Foo(){}
var foo = new Foo();
登入後複製

補補腦:
每一個函數中都會有一個叫prototype的屬性,類型是object,即一個引用對象。
每一個物件中都會有一個叫__proto__的屬性,類型野是object,也是一個引用物件。

首先,當JavaScript引擎執行new操作時,會馬上開啟一個區塊內存,建立一個空物件(並將this指向這個物件)。

接著,執行建構子Foo(),對這個空物件進行建構(建構函式裡有什麼屬性和方法都一一給這個空白物件組裝去,這就是為何它叫建構子了)。

然而,為這個空物件增加了一個叫做__proto__的屬性,而且這個__proto__指向Foo()的prototype物件。換句話說,就是__proto__ = prototype;


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板