我对 Javascript 还很陌生,并试图根据运算符的工作方式准确地弄清楚for...in
循环是如何in
工作的。
这消除了混乱。
但是,我现在很困惑,为什么in
操作员会在除最后一个场景之外的所有场景中返回false
。
看起来for...in
循环正在使用其最后一次迭代的值在 obj 中创建键 keyTest 。
我的理解正确吗?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