如果更改原型,这会影响当前实例吗?

2 javascript prototype-programming

说我有这个:

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

var JS = new _JS();
Run Code Online (Sandbox Code Playgroud)

如果我之后更改它(添加方法,使用_JS.prototype.etc),我可以调用这些方法JS吗?

JAA*_*lde 5

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

查看简单原型修改示例:http://jsfiddle.net/JAAulde/56Wdw/1/


cwa*_*ole 5

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

一个简单的测试:

var f = function(){}
var g = new f()
f.prototype.trace = function(){alert(1)}
g.trace(); // alerts 1
Run Code Online (Sandbox Code Playgroud)