日常 42 元:和府撈麵牛小腩面 9.9 元清倉
阿新 • • 發佈:2021-08-14
原型,每一個javascript物件(除null外)建立的時候,就會與之關聯另一個物件,這個物件就是我們所說的原型,每一個物件都會從原型中“繼承”屬性。
一,prototype
1,在JavaScript中,每個函式都有一個prototype屬性,這個屬性指向函式的原型物件。
2,prototype是函式和類才有的屬性,例項物件是沒有的
3,建構函式可以給prototype新增屬性,該屬性可以讓全部該函式建立的例項物件共享
4,prototype的constructor指向其建構函式
function one(){} console.log(one.prototype.constructor===one)//true
function student(name){ this.name=name } student.prototype.state=1 class student2{ constructor(name){ this.name=name } } student2.prototype.state=2 let a1=new student(10) let a2=new student2(15) console.log(a1.state)//1 console.log(a2.state)//2
二,__proto__
1,每個非空物件(排除null)都會有該屬性,這個屬性會指向該物件的原型
function one(){} let item=new one() console.log(item.__proto__===one.prototype)
三,constructor
每個原型都有construcotr,指向關聯的建構函式
四,最終指向
每個物件都有原型,每個原型也有原型,直到終點Object,這就構成了鏈條狀,也就是所謂的原型鏈