首頁 >web前端 >js教程 >js原型是什麼意思?

js原型是什麼意思?

藏色散人
藏色散人原創
2019-05-17 14:22:2815182瀏覽

js原型是什麼意思?

原型是JavaScript中一個比較難理解的概念,原型相關的屬性也比較多,物件有”prototype”屬性,函數物件有”prototype”屬性,原型物件有” constructor”屬性。

初識原型

在JavaScript中,原型也是一個對象,透過原型可以實現物件的屬性繼承,JavaScript的物件中都包含了一個」[[ Prototype]]」內部屬性,這個屬性所對應的就是該物件的原型。

「[[Prototype]]」作為物件的內部屬性,是不能直接存取的。所以為了方便查看一個物件的原型,Firefox和Chrome中提供了__proto__這個非標準(不是所有瀏覽器都支援)的存取器(ECMA引入了標準物件原型存取器」Object.getPrototype(object)」) 。

在JavaScript的原型物件中,也包含一個」constructor」屬性,這個屬性對應到建立所有指向該原型的實例的建構子

在JavaScript中,每個函數都有一個prototype屬性,當一個函數被用作建構函數來建立實例時,這個函數的prototype屬性值會被當作原型賦值給所有物件實例(也就是設定實例的`__proto__`屬性),也就是說,所有實例的原型引用的是函數的prototype屬性。 (****`只有函數物件才會有這個屬性!`****)

new 的過程分成三步驟  

var p = new Person('张三',20);

1. var p={}; 初始化一個物件p。

2. p._proto_=Person.prototype;,將物件p的__proto__ 屬性設為Person.prototype

3. Person.call(p,」張三” ,20);呼叫建構函式Person來初始化p。

以上是js原型是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:JavaSE是什麼下一篇:JavaSE是什麼