Показать сообщение отдельно
  #1 (permalink)  
Старый 29.10.2012, 12:13
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Как вызвать eval в контексте другой функции для доступа к ее локальным переменным?
Как вызвать eval в контексте другой функции для доступа к ее локальным переменным?
Это нужно для передачи имен переменных в debug-функцию. Но проблема в том, что в функции куда эти имена передаются эти переменные не определены - поэтому eval возвращает ошибку (исключение).

function debugFunc(name){
   try{
       alert( 'debug: ' + name + "=" + eval(name) );
   }catch(err){alert('debug: ' + err);}
}

function someFunc() {
   var ABCD = 10;
   debugFunc( "ABCD" );
   alert( 'internal: ABCD='+ eval( "ABCD" ) );
}

someFunc();
Ответить с цитированием