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

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

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

и

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

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

Ответы [ 2 ]

20 голосов
/ 16 августа 2010

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

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

 setTimeout(function(){ alert ("hey") ; }, 1000);
4 голосов
/ 16 августа 2010

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

...