var Ninja = function() {
this.swingSword = function() {
return true
}
}
Ninja.swingFire = function() {
return true
}
var ninja = new Ninja()
assert(ninja.swingFire()) // undefined
因此,它正在创建Ninja的新对象,但是为什么在这种情况下不包含swingFire?有人可以解释为什么吗?
最佳答案
使用new
创建的实例将从constructor.prototype
继承,而不是从构造函数对象本身继承。这将表现为您想要的:
Ninja.prototype.swingFire = function() {
return true;
}