У меня есть
var Actions = {
damage : function(count,type){
return function(){
var _damage = {
type : type ,
count : count
};
G.enemy.take_damage[(_damage.type || this.damage)].call(G.enemy, (_damage.count || this.count));
//берутся внутренние хар-ки или самой карты, если внутренних нет
}
},
}
Объект создающий функции. Далее они вызываются вот так :
var attack = Actions.damage(1);
//this == card
attack.call(this);
Теперь к моей проблеме, я хочу сделать функцию, которая будет модифицировать объект _damage в функции attack. Что-то на подобии :
function modify(properties,funct){
//а что писать здесь никак не пойму
}
Это наверняка на самый лучший вариант, но он делает, то что тебе нужно (даже немного проще) и без глобальных переменных. Изменить "внутренности" функции можно путем передачи новых параметров. Повникай:
var getVariableFunction = (function() {
var oldA, oldB;
return function(A, B) {
oldA = A;
oldB = B;
return function(x = oldA, y = oldB) {
if (x !== oldA && y !== oldB) {
oldA = x;
oldB = y;
}
console.log(oldA, oldB);
}
};
})();
var attack = getVariableFunction(1, 2);
attack(); // 1, 2
attack(); // 1, 2
attack(4, 5); // меняем внутренности // 4, 5
attack(); // 4, 5
attack(); // 4, 5
Функцию modify
сам, думаю, допишешь на основе примера выше (если есть необходимость). Чую заминусуюсь за такой код))
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно чтобы при наведении на текст менялась картинка и текст сам менял цветЯ написал так, но не знаю как изменение цвета текста сделать после...
Пытаюсь сделать скрол - стрелочка которая перематывает на верх и затем меяется на стрелку вниз которая перематывает на старое положениеВот...