Я хочу заменить атрибуты экземпляра простым способом и сделать это внутри самого класса. Поэтому я могу воспользоваться конструктором и не создавать огромный метод для обновления.Обновление объекта JS
function Champ(champ){
var instance = this
instance.id = champ.id
// PERSONAL
instance.name = champ.name
instance.lore = champ.lore
// ATTRIBUTES
instance.attr1 = champ.attr1
instance.attr2 = champ.attr2
instance.fitness = champ.fitness
// BARS
instance.energy = champ.energy
instance.stress = champ.stress
function update(new_champ){
instance = new Champ(new_champ);
}
this.location = "1"
this.update = update
}
// I will put in a simple way, how does it fail for me and how do I wanted it to behave
c = new Champ({energy: 1, stress : 1})
c.energy //=> 1 (OK)
c.update({ energy: 9, stress: 9})
c.energy //=> 1 (FAIL, I wanted it to be 9)
Я предполагаю, что я являюсь очень наивным, есть хороший способ для того, чтобы работать, делая этот вид замены контекста внутри класса?
Спасибо, также, хорошая ссылка – 2010-11-29 13:23:47