Показать сообщение отдельно
  #12 (permalink)  
Старый 13.05.2012, 10:46
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от melky
Ну, раз все согласились его избегать, значит, стоит его избегать.
Избегать eval путём использования new Function? И какой смысл тогда в этом?
Сообщение от http://www.jslint.com/lint.html
eval is evil

The eval function (and its relatives, Function, setTimeout, and setInterval) provide access to the JavaScript compiler. This is sometimes necessary, but in most cases it indicates the presence of extremely bad coding. The eval function is the most misused feature of JavaScript.
Сообщение от devote
На стороне клиента евал опасен так же как и alert. То-есть нанести ущерб клиенту на компе не реально.
Смотря где и как его использовать. Пример:
Есть приложение, получающее откуда-нибудь JSON. И парсится этот JSON не с помощью JSON.parse, а с помощью eval'а. Тогда злоумышленник, получив доступ к скрипту, отдающему этот JSON, может вернуть что-нибудь вроде
(function () {
	/* some code stealing your cookie */
}(), { /*some json data*/ })
Сообщение от FINoM
А почему не просто eval(data)?
Тогда контекст будет захвачен.
(function(){
  var a = 5;
  eval("alert(typeof a)");
  window.eval("alert(typeof a)");
})()
Ответить с цитированием