使用dat.gui更改多个实例中的变量

时间:2013-04-30 00:27:25

标签: javascript user-interface dat.gui

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

例如

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

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

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

1 个答案:

答案 0 :(得分:1)

我可以想到改变实例变量而不对MyClass进行任何更改的唯一方法是迭代arr

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