-1

我正在测试下面的 javascript for 循环。

var items = ['one','two','three']
for(var i=0, l=items.length; i < l; i++){
    console.log(i);
    items[i];
}

输出如下。

0
1
2
"three"

如果没有包含在 console.log 中,为什么只打印最后一项?

EDIT1:对于最初的复制粘贴混乱,我深表歉意。我更新了代码。如果我打印 items[i] 作为控制台日志的一部分,它会打印所有三个项目,但不会在外部打印。

4

1 回答 1

4

您的循环本身没有问题。您的错误在于,将"three"其视为输出。

"Three"只是这个表达式的最后一个值。

如果你会写

var items = ['one','two','three'];
for(var i=0; i < items.length; i++){
    i; // i itself just calls the variable and does nothing with it. 
       // Test it with the developer console on Google Chrome and you'll notice a
       // different prefix before the line
}

不会有输出,因为只有 console.log() 会生成实际输出。如果你想输出 i 和数组中 i 位置的值,你的代码将是:

var items = ['one','two','three'];
for(var i=0; i < items.length; i++){
    console.log(i);
    console.log(items[i]);
}
于 2013-10-16T12:19:59.240 回答