Javascript 如果原型发生更改,是否会影响当前实例?

Javascript 如果原型发生更改,是否会影响当前实例?,javascript,prototype-programming,Javascript,Prototype Programming,假设我有这个: var _JS = function() { this.Constants = { True: 1, False: 0, Nil: null, Unknown: void(0), }; }; var JS = new _JS(); 如果我后来更改了它(添加方法,使用\u JS.prototype.etc),我可以在JS上调用这些方法吗?是的,原型更改会影响您修改原型的项目的所有实例 参见简单原型修改示例: 如果原型发生更改,是否会影响当

假设我有这个:

var _JS = function() {
  this.Constants = {
    True: 1,
    False: 0,
    Nil: null,
    Unknown: void(0),
  };
};

var JS = new _JS();

如果我后来更改了它(添加方法,使用
\u JS.prototype.etc
),我可以在
JS
上调用这些方法吗?

是的,原型更改会影响您修改原型的项目的所有实例

参见简单原型修改示例:

如果原型发生更改,是否会影响当前实例


对。如果更改现有对象实例共享的原型,则所有对象实例的原型都将更改。

是。修改原型会修改所有实例

一个简单的测试:

var f = function(){}
var g = new f()
f.prototype.trace = function(){alert(1)}
g.trace(); // alerts 1

以下代码将打印某些内容:

var ajs = new _JS();
_JS.prototype.do = function () {console.log('something');}
ajs.do();

您没有使用原型。不,我正在更改函数的原型。:)事实上,这与图书馆无关。嗯,你自己测试一下就不能弄明白吗?:)+这太棒了。(否则我无法使用
JS.Constants
:)。等待10分钟后将接受。