JS繼承的方法

2021-10-03 12:22:51 字數 1680 閱讀 5691

混入式繼承

// var zz=

// var wkl =

// 1.混入式繼承 拷貝乙個物件的屬性

// wkl.skill = zz.skill

// wkl.money = zz.money

// console.log(wkl)

// 太麻煩 直接遍歷

// wkl.ex = function (obj)

// }

// }

// wkl.ex(zz)

// console.log(wkl);

原型鏈繼承

//  2.原型鏈繼承

// function person()

// 原型物件

// person.prototype.color = "red"

// // 例項物件

// var p = new person()

// console.log(p.color);//red

// 例項物件可以訪問原型物件上的所有成員 這種方式 就叫做原型鏈繼承

// 原型替換

// 把原型 賦值給乙個物件

// person.prototype = ,

// name:"張飛",

// skill:"打仗"

// }

// var p = new person()

// p.sayhi()//hi

// console.log(p.constructor);//object

// p的原型鏈 p==> person.prototype(新建立的物件) ==> object.prototype ==> null

// constructor ==> object

// 原型替換後 新的物件上 沒有constructor 這個屬性

// 解決辦法 手動新增

// 2.1 原型鏈-混入式 繼承

// 讓例項物件 可以繼承 zs 和ls 的屬性

function person()

var zs =

var ls =

person.prototype.ex = function (obj)

}}//原型上就有了 zs 和ls

person.prototype.ex(zs)

person.prototype.ex(ls)

var p = new person()

console.log(p.name);//張三

console.log(p.money);//100000

經典繼承

//  3.經典繼承

// 語法:var obj = object.create(obj)

// 建立乙個新物件 物件的原型為引數obj

var wu =

// mo的原型就為 wu

var mo = object.create(wu)

console.log(mo.house);//bighouse

js 繼承方法

call 只能繼承函式的值,並不能繼承函式的原型 可以看到 child 繼承了 parent 的 a b,但原型中的 newfu 並沒有 把要繼承的函式放到繼承者的原型中,原型物件的屬性是共享的 建立物件的三種方法 第一種方式,字面量 var o1 varo2 new object 第二種方式,通過...

js方法繼承

還是原來的味道,原來的配方,我們先來了解你這讓你登上山頂的板磚 有些是個人想法和方法 第一步 我們需要知道的是你定義的方法都會有乙個prototype 用來存放公共的屬性和方法 而這個原型指向乙個原型物件.原型物件中又存在constructor和 proto 方法 如圖一 圖一第二步 你需要知道例項...

js的繼承實現方法

一 原型鏈 利用prototype實現繼承,prototype物件是個模板,要例項的物件都是以這個模板為基礎,它的任何屬性和方法都被傳遞給那個類的所有例項,原型鏈利用這種功能來實現繼承機制。如果利用原型方式實現繼承,例項如下 原型鏈function classa classa.prototype.c...