由于以下JS类的输出相同,那么原型的特殊之处在哪里?
原型的一个特点是摆脱了重复的代码,在什么情况下这可以用原型?
1
function Person(name) {
this.name = name;
this.sayName = function () {
console.log(this.name);
};
}
var person1 = new Person("Nicholas");
person1.sayName();
2
function Person(name) {
this.name = name;
}
Person.prototype.sayName = function () {
console.log(this.name);
};
var person1 = new Person("Nicholas");
person1.sayName();
答案 0 :(得分:0)
如果您使用 prototype
分配属性,那么这些属性将在类/构造函数的所有实例中共享,这些实例具有特定的< EM> prototype
的。但是在构造函数内使用this
分配属性将是特定于实例的。它们无法与其他实例共享。每个实例都有自己的值。