function
parent()
parent.prototype.
say=
function()
function
child()
console.
log(
newchiid()
.say()
)//error!!
缺點:
//借助原型鏈實現繼承
function
parent()
function
child()
child.prototype =
newparent()
//!important
newchild()
.__proto__ === child2.prototype //true
var obj1 =
newchild()
var obj2 =
newchild()
obj1.play.
push(4
)obj1.play //[1,2,3,4]
obj2.play //[1,2,3,4] !error
obj1.__proto__ === obj2.__proto__ //true
缺點:
//組合方式繼承
function
parent()
function
child()
child.prototype =
newparent()
obj1.play.
push(4
)obj1.play //[1,2,3,4]
obj2.play //[1,2,3]
解決上面原型鏈繼承共享原型物件的問題
缺點:
function
parent()
function
child()
child.prototype = parent.prototype //繼獲取父級原型物件中的屬性
//子類和父類的prototype是同乙個,裡面包含的constructor也是同乙個,都指向父類
var obj =
newchild()
console.
log(obj.constructor)
//parent !error
解決每次都new例項都會執行一次建構函式的問題
缺點:
//寄生組合式繼承
function
parent()
function
child()
child.prototype = object.
create
(parent.prototype)
//建立中間空物件,隔離子類和父類的prototype,可以修改子類的constructor
child.prototype.constructor = child //修改子類的constructor
var obj =
newchild()
obj instance of child //true
obj instance of parent //true
obj.constructor = child //true
javascript 建立物件的幾種方式
呃呃呃,又開啟js高程了,為啥有一種嚴肅的心情捏?今天看了建立物件這一節,寫些筆記,鞏固一下,有時間會繼續補充的。我們知道,想要操作這些物件,首先你得有物件,物件 找?當然是自己建立唄!說一下比較常用的3種建立物件的方式。1 字面量 var obj1 var obj2 2 new操作符了解這部分建議...
javascript物件的幾種建立方式
一 工廠模式 用函式來封裝以特定介面建立物件 function createperson name,age,job var person1 createperson rose 18,software var person2 createperson jack 22,software 二 建構函式模式...
JavaScript中的物件
物件的實質是一組名值對,其中值可以為資料或函式。當值為資料時,對應的名被稱為物件的屬性 當值為函式時,對應的名被稱為物件的方法。通過object 類建立物件let person new object person.name guagua person.age 18 person.say functi...