【发布时间】:2019-07-16 02:20:03
【问题描述】:
MDN 解释说构造函数的实例只继承constructor.prototype 属性内的成员,而不继承它之外的任何东西。例如,Object.prototype.watch() 将被继承到它的实例,而不是Object.keys();。
如果我有如下构造函数:
function Person(name) {
this.name = name;
}
Person.prototype.greeting = function() {
alert("Hi!");
}
name 属性不在原型属性中,但 greeting() 方法在。但是,如果我这样创建一个实例:
let person1 = new Person("Foo");
person1 能够访问 person1.name 和 person1.greeting() 两者,即使 name 属性是在原型属性之外定义的。
【问题讨论】:
-
如
Person.prototype.greeting()。我不知道,您缺少什么?顺便说一句,你有一个语法错误。应该是Person.prototype.greeting = function () { ... }
标签: javascript oop constructor prototype