我不确定为什么这会为undefined
对象的属性名称输出document
。我认为它与变量表达式myArray[i++]
有关。我可以使这个简单的原始变量,我将获得所有的属性名称,但我希望所有的属性名称保存到数组中。感谢您的帮助!!
var myArray = [];
var i = 0;
for (myArray[i++] in document) {
document.write(myArray[i] + "</br>");
}
答案 0 :(得分:4)
它不起作用,因为您通过执行i
(增量后)设置myArray[i]
后增加myArray[i++]
。
这可行,但我不确定你为什么需要这样做。
var myArray = [];
var i = 0;
for (myArray[i] in document) {
console.log(myArray[i++] + "</br>");
}
答案 1 :(得分:4)
这种情况正在发生,因为你总是在数组中看到一个比你定义的元素更远的元素,因为你后加i
。你可以改为预增量:
var myArray = [];
var i = -1;
for (myArray[++i] in document) {
document.write(myArray[i] + "</br>");
}
答案 2 :(得分:1)
我认为您可能想要使用如下所示的循环:
for(int i = 0; i < myArray.length; i++){
document.write(myArray[i] + "</br>");
}