JS 基礎篇 原型和繼承

2021-10-02 07:01:37 字數 1724 閱讀 8855

function

animal()

var a=

newanimal()

a._prop_=animal.prototype//物件的_prop_指向函式物件的原型

a.constructor=animal//物件的建構函式指向函式物件

//a即為animal的例項也為animal.prototype的例項

('小白');

console.

log(p1)

p1.category =

'蔬菜'

p1.testrr.

push

('小狗');

p1.sleep

=function()

console.

log(p1)

// 缺點:

// 1. 想為子類新增新的方式, 必須放在 new animal()之後

// 2. 無法實現多繼承

// 3. 原型鏈被破壞

// 4 . 無法向父級傳參

// 5. 引用型別的屬性會被影響

function

animal

(category)

}animal.prototype.

run=

function()

function

doga

(category,name)

var dog1=

newdoga

('動物'

,'小白');

//缺點

//1:不能繼承原型方法

function

animal

(category)

}animal.prototype.

run=

function()

function

doga

(category,name)

// doga.prototype = object.assign({},animal.prototype);

doga.prototype = object.

create

(animal.prototype)

; doga.prototype.constructor = doga;

var dog1=

newdoga

('動物'

,'小白');

animal.prototype.km =

"poo"

;animal.prototype.

walk

=function()

js原型和繼承

一.原型與建構函式 js所有的函式都有乙個prototype屬性,這個屬性引用了乙個物件,即原型物件,也簡稱原型。這個函式包括建構函式和普通函式,我們講的更多是建構函式的原型,但是也不能否定普通函式也有原型。譬如普通函式 function f alert f.prototype instanceof...

JS原型繼承和call繼承

首先建立animal和bird兩個構造器 var animal function var bird function 怎麼能在bird中同樣實現animal共有的eat屬性?var bird function this fly function 這種直接複製 實現的方式很low,而且很費事 原型繼承...

JS的原型和繼承

除null和undefined,js中的所有資料型別都有這個屬性 它表示當我們訪問乙個物件的某個屬性時,如果該物件自身不存在該屬性,就從它的 proto 屬性上繼續查詢,以此類推,直到找到,若找到最後還是沒有找到,則結果為undefined 我們把乙個物件的 proto 屬性所指向的物件叫該物件的原...