, если я не ошибаюсь, eval выполняет правильный код в заданной строке
eval("alert('hey')");
и
setTimeout("alert('hey')",1000);
делает примерно то же самое, только с таймером.настроен ли тайм-аут так же рискованно, как и eval?
Я бы сказал, что вы слышите те же возражения. setTimeout (со строковыми параметрами, а не с параметрами функции) во многом совпадает с eval.
Если возможно,
setTimeout(function(){ alert ("hey") ; }, 1000);
Потому что когда люди говорят «eval», они имеют в виду «eval и любую функцию, которая более или менее эквивалентна eval», но первая намного короче, чтобы сказать.Так что ответ на ваш вопрос - да, это так же рискованно.