Подтвердить что ты не робот

Почему люди говорят, что javascript eval() - это зло, но вы не возражаете против setTimeout и setInterval и т.д.?

Если я не ошибаюсь, eval выполняет действительный код в заданной строке

eval("alert('hey')");

и

setTimeout("alert('hey')",1000);

делает примерно то же самое, только с таймером. установлен ли тайм-аут так же рискованно, как eval?

4b9b3361

Ответ 1

Я бы сказал, что вы слышите те же самые возражения. setTimeout (со строковыми и не функциональными параметрами) в значительной степени похож на eval.

Если возможно,

 setTimeout(function(){ alert ("hey") ; }, 1000);

Ответ 2

Потому что, когда люди говорят "eval", они означают "eval" и любую функцию, которая более или менее эквивалентна eval ", но первая намного короче сказать. Таким образом, ответ на ваш вопрос да, это так же рискованно.