说我有这个:
var _JS = function() {
this.Constants = {
True: 1,
False: 0,
Nil: null,
Unknown: void(0),
};
};
var JS = new _JS();
如果我之后更改它(使用_JS.prototype.etc
添加方法),我可以在JS
上调用这些方法吗?
答案 0 :(得分:5)
是的,原型更改会影响您修改其原型的项目的所有实例。
参见简单原型修改示例:http://jsfiddle.net/JAAulde/56Wdw/1/
答案 1 :(得分:5)
是。修改原型会修改所有实例。
一个简单的测试:
var f = function(){}
var g = new f()
f.prototype.trace = function(){alert(1)}
g.trace(); // alerts 1
答案 2 :(得分:3)
如果更改原型,这会影响当前实例吗?
是。如果您更改现有对象实例共享的原型,它将针对所有这些实例进行更改。
答案 3 :(得分:3)
以下代码会打印一些内容:
var ajs = new _JS();
_JS.prototype.do = function () {console.log('something');}
ajs.do();