混入式繼承
// 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...