Я довольно новичок в Javascript и пытался выяснить, как работает цикл for...in
, основанный на том, как работает оператор in
.Операторы до и после байтов
This уточнено недоразумение.
Однако я теперь смущен, почему оператор in
возвращает false
во всех сценариях, кроме самого последнего.
Похоже, что цикл for...in
создает ключевой ключTest в obj со значением его последней итерации.
Правильно ли я понимаю? Do for...in
Петли создают ключ/значения в объекте, который они перебирают при использовании для прохождения всех ключей объектов?
Если это поможет любая помощь по пониманию.
var keyTest, obj = {}
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // false
obj = { a : 1, b : 2 };
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // true
obj[keyTest] // 2
'in-in' просто выполняет итерации по объектным клавишам, не более того. – zerkms
и 'in' вернет true, если объект содержит заданное свойство. keytest и obj - оба независимых объекта, ни один из них не является свойством другого. –