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