十二、对象继承深入、call_apply、※圣杯模式、※构造函数和闭包、※企业模块化
对象继承深入
原型链继承
原型链定义
对象沿着__proto__在原型上寻找属性形成一种链条式的继承关系,这种继承关系就叫做原型链。
例如:
Professor.prototype = {
name: 'Mr.Zhang',
tSkill: 'Java'
}
function Professor(){
}
var professor = new Professor();
Teacher.prototype = professor;
function Teacher(){
this.mkill = 'JS/JQ';
this.name = 'Mr.Wang'
}
var teacher = new Teacher();
Student.prototype = teacher;
function Student(){
this.name = 'Mr.li'
this.pkill = 'HTML/CSS';
}
var student = new Student();
console.log(student);
通过指定原型的指向,使学生实例继承老师实例,老师实例继承教授实例,而教授实例继承它的原型,这样学生就可以继承原型链上的所有属性。
处在原型链底端的实例继承了原型链上所有的属性,可这样合适吗?有些属性并不需要,有些属性又重复了。
call_apply是怎么解决这个问题的?
call_apply
Teacher.prototype.TSkill = 'Vue';
function Teacher(name, mSkill){
this.name = name;
this.mSkill = mSkill;
}
function Student(name, mSkill, age