js原型及原型鏈

2021-09-24 01:19:13 字數 1732 閱讀 8297

每個物件都有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 總結 不同例項上的同名方...