импорт объекта в текущий скоп
Приветствую. подскажите, как сделать следующее:
var obj = { var1: "hello", var2: "medved" } function test() { // вот тут локальным переменным присваиваем // значения объекта var var1 = obj.var1 var var2 = obj.var2 alert(var1 + var2) } в функции локальным переменным присваиваются значения из объекта. в примере это сделано в лоб, а нужно что-то вроде for(var i in obj) window[i] = obj[i] проблема в том что, вместо window[i] должно быть нечто, что сделает переменные объекта локальными, т.е. чтоб можно было обратиться var1, var2 как к локальной переменной. this[i] не походит, т.к. все равно придется обращаться к "this.var1" это возможно? |
Такое только пока могу предложить:
for(var i in obj) eval('var ' + i + ' = ' + преобразуем_в_json(obj[i])); |
кстати да, спасибо, не подумалось про eval. на крайний случай оставим как вариант.
|
А чем не подходит простой with(obj)?
|
гениально :thanks: всем подходит, спасибо.
просто почему-то думалось что должно быть как-то сложнее, что должен быть аналог window[property] для локального скопа. |
Часовой пояс GMT +3, время: 14:22. |