如果原型被更改,这会影响当前实例吗
If a prototype is changed, will this affect current instances?
假设我有这个:
var _JS = function() {
this.Constants = {
True: 1,
False: 0,
Nil: null,
Unknown: void(0),
};
};
var JS = new _JS();
如果我后来更改它(使用_JS.prototype.etc
添加方法),我可以在JS
上调用这些方法吗?
是的,原型更改会影响您修改其原型的项目的所有实例。
参见简单原型修改示例:http://jsfiddle.net/JAAulde/56Wdw/1/
是。修改原型将修改所有实例。
一个简单的测试:
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();
相关文章:
- ES6构造函数返回基类的实例
- KnockoutJS-组件-多个实例
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- fluxxor向一个flux实例添加一组以上的操作
- 使用jQuery获取Dropzone实例/对象
- jQuery工具验证器自定义效果-添加&消除影响
- "实例范围”;TypeScript类的getter/setter
- 如何在速度模板中获取LiferayPortlet实例id
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- 挖空视图模型函数仅影响最后一个实例
- 如何使外部按钮只影响类的一个实例
- 为什么更改函数的 .prototype 会影响已使用该构造函数创建的对象的“实例”
- 影响现有实例的图表对象的新实例
- AngularJS指令的两个实例,更改为2会影响第一个实例
- 为什么赋值影响实例属性而不是原型属性?
- 如果原型被更改,这会影响当前实例吗
- 是否更改构造函数's属性的实例创建后会影响实例吗?如果是,那么如何