首頁  >  文章  >  web前端  >  關於Javascript 物件(object)的prototype_javascript技巧

關於Javascript 物件(object)的prototype_javascript技巧

WBOY
WBOY原創
2016-05-16 16:49:021046瀏覽

Javascript中的每個物件(object)都會有 prototype 。試試看:

複製程式碼 程式碼如下:

var Richard = new Object(); 🎜>alert(typeof(Richard.prototype));

結果令人鬱悶,瀏覽器彈出來的是undefined…

到底是怎麼回事呢?

再看一個例子:

複製程式碼 程式碼如下:alert(typeof(Richard.prototype));

上面的例子似乎說明,只有function 物件才有prototype, 而一般的Object 物件是沒有prototype 的,事實怎樣呢?

我們再來執行一句就明白了:




複製程式碼
程式碼如下: 程式碼如下:


程式碼如下:


程式碼如下:



程式碼如下:
var Richard = new Object(); alert(Richard.__proto__); 是不是明白了? 其實我們都有一個誤解,就是認為形成 Javascript 物件的prototype chain 的 prototype 就是一個名字為 prototype 的屬性,而且是可以存取的。其實,Javascript 的 prototype 和 名字為 prototype 的屬性在一開始一點兒關係都沒有,是兩個不同的事物。 對於一般物件來說,我們只能透過__proto__ 這樣的屬性去存取從Object 物件繼承來的prototype; 對於函數物件來說,在其建立的時候,已經將Function物件的prototype 賦值給了prototype 屬性。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn