@Paul_Morte

Как сделать отложенное выполнение функции?

Мне необходимо запомнить функцию, чтобы потом ее можно было выполнить в нужный момент. (Делаю игру, когда наступает новый ход, в начале этого хода должны быть активированы действия ядов, проклятий и тд).

Я думаю сделать это через массив к которому потом обратится.

function ask(e)
{
 alert(e.name)
}

var obj = {
name: "VALISII",
curse:[]
}

obj.curse.push ( ask(obj.name)   ) ///// Как правильно записать функцию со значениями? 

// Спустя время я вызываю функцию записанную в массив curse ...()


Как правильно записать функцию со значениями в массив? Дробить на части я не хочу (в какой-то переменной или масиве передавать функцию, а потом другие значения).
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Можно использовать функцию обертку:
obj.curse.push(function() {
  return ask(obj.name);
});

или bind:
obj.curse.push(ask.bind(null, obj.name));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
rim89
@rim89
программист-велосипедист
есть же понятие callback функции
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы