原型和建構函式的組合繼承

2021-09-26 23:45:12 字數 882 閱讀 4717

採用一下的call的這種方式,會使得引用資料型別不受多個new 的相互影響。

function

person

(name)

function

student

(age)

//原型繼承

student.prototype =

newperson()

;//(1)

//由於上行的繼承,使得student.prototype.constructor = person

//這行將它改為指向自身,student.prototype.constructor = student

student.prototype.constructor = student;

//(2)

//經過(1)(2)後才能寫自身的函式,否則,沒有將constuctor轉換過來,會出現錯誤

student.prototype.

sayage

=function()

var stu1 =

newstudent(21

);stu1.colors.

push

("black");

console.

log(stu1.colors)

;var stu2 =

newstudent(23

);console.

log(stu2.colors)

;// console.log(stu.sayname());

// console.log(stu.age);

student.prototype.

sayage()

;

原型鏈繼承和建構函式繼承

原型鏈繼承 function father name,age father.prototype.walk function function son son.prototype new father 此處為原型鏈繼承,繼承的是father例項上的屬性 var son1 new son zhangsa...

js 建構函式 原型繼承

定義所有飛行物的父型別的建構函式 function flyer fname,fspeed flyer.prototype.fly function 1 構造繼承 定義第一種飛行物 bee,繼承並擴充套件父型別flyer 使用父類的建構函式來增強子類例項,等於是複製父類的例項屬性給子類 沒用到原型 f...

JS高階 原型 建構函式的繼承

定義父類的person的建構函式 function person name 定義父類person的原型 person.prototype.sayname function 定義子類建構函式student function student name,age 子類繼承父類原型 子類student原型繼承...