| 
		
			| B@rmaley.e><e | 13.05.2012 10:46 |  
 
	Цитата: 
	
		| 
 
					Сообщение от 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)");
})()
 |