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

js原型是什麼意思?

藏色散人
發布: 2020-09-16 17:46:05
原創
15161 人瀏覽過

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中文網其他相關文章!

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