每個物件都有proto屬性用於指向建立它的建構函式的原型物件。
function
animal
(name)
animal.prototype.
getname
=function()
animal.prototype.
getage
=function()
var animal1 =
newanimal
('kate'
)var animal2 =
newanimal
('lucy'
) == animal.prototype//true
console.
log(animal1.__proto__)
//--->getname,getage: ƒ,constructor: ƒ
//原型物件有乙個預設屬性:constructor指向 prototype 屬性所在的建構函式
console.
log(animal1.__proto__.constructor)
//--->f animal(name)建構函式
console.
log(animal1.constructor)
//--->f animal(name)建構函式
//注意只有函式才有prototype屬性
console.
log(animal1.prototype)
//undefinde
//animal1.__proto__ === animal.prototype
console.
log(animal1.__proto__.__proto__)
//-->指向object的原型constructor: ƒ, __definegetter__: ƒ...
console.
log(animal.prototype.__proto__)
///-->指向object的原型constructor: ƒ, __definegetter__: ƒ...
console.
log(object.prototype)
-->指向object的原型constructor: ƒ, __definegetter__: ƒ...
注意:
function
abc(
)abc.prototype=
, test:
function()
}object.prototype.num=
1000
;var a1=
newabc()
;var a2=
newabc()
;//alert(a1.num);//10--100--100先後查詢順序
//alert(a1.hehe());
//alert(a1.tostring());//[object object]
例項物件----proto------->先找建構函式的原型----proto—>object下面的原型
a1----proto------->abc.prototype----proto—>object.prototype—>null
js原型及原型鏈
在建構函式建立出來的時候,系統會預設幫建構函式建立乙個原型物件。原型物件中的屬性和方法可以被建構函式建立出來的物件訪問。建構函式.prototyoe 屬性 方法 的查詢原則 當訪問物件的成員的時候,會在自身找有沒有,如果有直接使用,如果沒有找到,則去當前物件的原型物件中找,如果找到了直接使用 如果沒...
js中的原型及原型鏈
1.什麼是原型 a.每乙個物件都有原型,使用屬性 proto 引用,除了null 用於指向建立它的建構函式的prototype b.原型就是該物件表示從 繼承。通過它可以實現屬性繼承。2.proto 和prototype 的區別 proto 是每乙個物件都有的屬性。原型鏈中真正起作用的是 proto...
JS中的原型及原型鏈
什麼是原型?原型的作用 資料共享 1.1原型的資料共享 在建構函式內部新增say方法 function person name 例項化 var p newperson 小明 var p1 newperson 小紅 console.log p.say p1.say false 總結 不同例項上的同名方...