我不确定为什么要为undefined对象的属性名称输出document。我认为这与变量表达式myArray[i++]有关。我可以使它成为一个简单的原始变量,并获得所有属性名称,但我希望将所有属性名称保存到数组中。提前谢谢你的帮助!!

var myArray = [];
var i = 0;
for (myArray[i++] in document) {
document.write(myArray[i] + "</br>");
}

最佳答案

之所以发生这种情况,是因为自后加i以来,您总是在数组中比定义的位置看一个元素。您可以预先增加:

var myArray = [];
var i = -1;
for (myArray[++i] in document) {
    document.write(myArray[i] + "</br>");
}


JSFiddle

关于javascript - JavaScript for/in循环中出现意外输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16226674/

10-13 22:51