继承过来的属性的值都是一样的了
标签:
借用结构函数为了数据共享, 转变原型指向, 做到了担任---通过转变原型指向实现的担任
缺陷: 因为转变原型指向的同时实现担任, 直接初始化了属性,担任过来的属性的值都是一样的了, 所以,这就是问题
只能从头挪用东西的属性进行从头赋值
解决方案:
担任的时候, 不用转变原型的指向, 直接挪用父级的结构函数的方法来为属性赋值就可以了------
借用结构函数: 把要担任的父级的结构函数拿过来, 使用一下就可以了
缺陷:
借用结构函数:结构函数名字.call(当前东西,属性,属性,属性....);
解决了属性担任,并且值不反复的问题
缺陷: 父级类别中的要领不能担任
function Person(name, age, sex, weight) {
this.name = name;
this.age = age;
this.sex = sex;
this.weight = weight;
}
Person.prototype.sayHi = function () {
console.log("您好");
};
function Student(name, age, sex, weight, score) {
//借用结构函数
Person.call(this, name, age, sex, weight);
this.score = score;
}
var stu1 = new Student("小明", 10, "男", "10kg", "100");
console.log(stu1.name, stu1.age, stu1.sex, stu1.weight, stu1.score);
var stu2 = new Student("小红", 20, "女", "20kg", "120");
console.log(stu2.name, stu2.age, stu2.sex, stu2.weight, stu2.score);
var stu3 = new Student("小丽", 30, "妖", "30kg", "130");
console.log(stu3.name, stu3.age, stu3.sex, stu3.weight, stu3.score);
JS高级---借用结构函数
,温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32179.html