原型在整个 JavaScript 中被用作定义属性和功能的便捷方式,这些属性和功能将自动应用于对象的实例。
所以如果我写这个:
function Ninja(){}
Ninja.prototype.swingSword = function(){
return true;
};
var ninja1 = Ninja();
然后,所有的忍者都会有方法。
但是,如果它仅适用于实例对象 - 为什么以下代码有效?
Object.prototype.test1=function (){alert(this);};
Object.test1();
Object 是一个普通的对象,而不是一个实例对象。
问题:
- 似乎原型也适用于非实例对象的方法......
我在 mdn 中找不到对该确切行为的任何解释。