如何解决原型链中“new person()”和“prototype.person”之间的区别?
var person = function (name) {
this.myName = name;
}
person.prototype.tellMyName = function () {
console.log(this.myName);
}
var person1 = function (name,age) {
person.call(this,name);
this.age = age;
}
//in below line where i'm inheriting prototype properties from parent,both new Person() or person.prototype works
person1.prototype = new person();
person1.prototype.tellMyAge = function () {
console.log(this.age);
}
var person1Inst = new person1("sadmeer",18);
person1Inst.tellMyName();
person1Inst.tellMyAge();
显然我必须在子对象构造函数中调用 person.call(this,name);
来继承构造函数中的属性,并调用 person1.prototype = new person();
或 person1.prototype = person.prototype;
来继承原型属性。
我想知道是否有权仅使用 person1.prototype = person.prototype
从父级继承属性,因为我已经从构造函数继承了属性??
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。