Сообщение от doox911
|
Я так понимаю, что выполнение инструкции for/in, происходит следующим образом: Перед выполнением вложенной инструкции инструкция for/in обойдёт свойства объекта, и присвоит переменной(глобальной) "i" имя последнего свойства?
|
Да нет же, блджад, с чего вы это взяли?:
var obj={
x:1,
y:2,
z:3
};
alert('before start: ' + window.w ) // undefined
for(w in obj){
alert('in: ' + w); // x... y... z
}
alert('after end: ' + w ) // z
Цикл выполнился, переменная осталась.
P.S. То что при повторном запуске переменная уже назначена - особенность работы скриптового движка сайта - он не пересоздаёт документ каждый раз, а запускает там-же, а тому глобальная переменная остаётся на месте. Используйте f5 перед повторным запуском.