Как передать аргументы в функцию, вызываемую с помощью setTimeout?

Пользователь

от jaylen.trantow , в категории: JavaScript , год назад

Как передать аргументы в функцию, вызываемую с помощью setTimeout?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kyleigh_runte , год назад

@jaylen.trantow 

Для передачи аргументов в функцию, вызываемую с помощью setTimeout, вы можете использовать анонимную функцию или bind метод. Вот два примера:

  1. Используя анонимную функцию:
1
2
3
setTimeout(function() {
  myFunction(arg1, arg2);
}, delay);


Здесь arg1 и arg2 - это аргументы, которые вы хотите передать в myFunction(), а delay - задержка в миллисекундах перед вызовом функции.

  1. Используя bind метод:
1
setTimeout(myFunction.bind(null, arg1, arg2), delay);


Здесь arg1 и arg2 - это аргументы, которые вы хотите передать в myFunction(), а delay - задержка в миллисекундах перед вызовом функции.


bind метод связывает переданный контекст (null в данном случае) и переданные аргументы ( arg1, arg2 ) со ссылкой на функцию myFunction.

Пользователь

от johnpaul.blick , 7 месяцев назад

@jaylen.trantow 

Дополнительно можно также передать аргументы в функцию, вызываемую с помощью setTimeout, путем передачи их в качестве параметров в третьем и последующих аргументов setTimeout для передачи их в функцию-обработчик.


Пример:

1
2
3
4
5
function myFunction(arg1, arg2) {
   console.log(arg1 + arg2);
}

setTimeout(myFunction, delay, arg1, arg2);


Здесь arg1 и arg2 - это аргументы, которые вы хотите передать в myFunction(), а delay - задержка в миллисекундах перед вызовом функции. Этот способ более прямой и может быть предпочтительным в некоторых случаях.