2013-04-30 1 views
0

У меня есть класс, который был создан несколько раз, и я хотел бы изменить определенную переменную экземпляра для всех из них. Как мне это сделать, используя dat.js?Изменение переменных в нескольких экземплярах с использованием dat.gui

например

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

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

Как я могу изменить х переменной для всех экземпляров MyClass.

ответ

1

Единственный способ, которым я могу думать об изменении переменных экземпляра без внесения каких-либо изменений в MyClass, - это перебрать более arr.

В качестве альтернативы, если вы действительно имеете в виду для все экземпляры, чтобы поделиться общим свойством, возможно, что вы хотите сделать, это что-то похожее на статическую переменную в классическом программировании. Это можно сделать, воспользовавшись тем, что функции на самом деле являются объектами в JavaScript, поэтому вы можете добавить свойство в конструктор функции: MyClass.x = 1;. Если вы хотите изменить значение всех значений «x», вы можете обновить их сразу, просто изменив MyClass.x = 2;. Этот метод изменяет способ доступа к переменной, поэтому вместо this.x вам нужно будет ссылаться на него MyClass.x.