【发布时间】:2013-10-04 04:50:45
【问题描述】:
考虑下面的代码
function Employee() {
this.id = "";
this.name = "";
this.gender = "";
}
function Programmer() {
this.expertise = "";
}
Programmer.prototype = new Employee();
然后我想将 Programmer 进一步继承给 JScriptProgrammer,并将默认值“expertise”设置为“JavaScript”。
问题: 有什么区别
function JScriptProgrammer() {
this.expertise = "JavaScript";
}
JScriptProgrammer.prototype = new Programmer();
和
function JScriptProgrammer() {
}
JScriptProgrammer.prototype = new Programmer();
JScriptProgrammer.prototype.expertise = "JavaScript";
【问题讨论】:
-
这与在原型上定义属性与在每个实例上定义属性之间的区别相同。 Use of 'prototype' vs. 'this' in Javascript? 的重复 无论您是否使用
new Programmer实例作为原型(普通对象)都没有任何区别。
标签: javascript