採用一下的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原型繼承...