Некоторое время назад мне нужно было создать объектно-ориентированный класс, используя jQuery. Я повернулся, чтобы использовать Джон Резиг прекрасное решение класса.
Хит с этим. Когда я определяю объект глобальных опций, мне кажется, что последний является общим для классов. Я подтвердил это, печатая различные console.log после модификации объекта только в одном классе. Код выглядит так:
var MyClass = Class.extend({
defaults : {
distance : 10,
speed : 20
},
options : null,
init : function(options) {
this.options = $.extend(this.defaults, options);
},
...
});
Мне нужен глобальный хеш или массив, чтобы я мог легко передать необязательные настройки классу. Есть ли способ сделать это таким образом? Возможно, мне придется прибегнуть к ручным установщикам, если ничего не работает.
Я тоже не совсем уверен, почему объект опций статически распределяется между различными объектами класса, для которых создается ключевое слово 'new'.