Я хочу вызвать функцию с arguement периодически.
Я попробовал setTimeout("fnName()",timeinseconds)
; и это работает.
Но когда я добавляю arguement, он не будет работать. например: setTimeout("fnName('arg')",timeinseconds);
Вы можете добавить анонимную функцию:
setTimeout(function() { fnName("Arg"); }, 1000);
setTimeout принимает выражение или имя функции или анонимное функция , но НЕТ оператора () .
() немедленно начнет выполнение функции и приведет к тому, что setTimeout примет недопустимый параметр.
Используйте анонимную функцию, например:
setTimeout(function() { fnName('arg'); }, time);
Как правило, никогда не передает строку в setTimeout ()
или ] setInterval ()
, если вы можете этого избежать, помимо плохой практики есть и другие побочные эффекты ... например, объем, в котором вы находитесь, когда он работает.
Кстати, если вам не аргумент нужен, просто:
setTimeout(fnName, time);