0

我有一个已被实例化多次的类,我想为所有这些类更改某个实例变量。我将如何使用 dat.js 执行此操作?

例如

function MyClass(){
   this.x = 1;
}
var arr = [];

for(var i =0; i< 10; i++){
   arr.push(new MyClass());
}

如何更改 MyClass 的所有实例的 x 变量。

4

1 回答 1

1

我能想到的在不进行任何更改的情况下更改实例变量的唯一方法是MyClass迭代arr.

或者,如果您真的意味着所有实例共享一个公共属性,那么您可能想要做的是使用类似于经典编程中的静态变量的东西。这些可以通过利用函数实际上只是 JavaScript 中的对象这一事实来实现,因此您可以向函数构造函数添加一个属性:MyClass.x = 1;. 当您想更改所有实例的x值时,只需更改MyClass.x = 2;. 这种技术改变了您访问变量的方式,因此this.x您需要通过MyClass.x.

于 2013-04-30T00:43:31.023 回答