【发布时间】:2017-04-22 04:58:06
【问题描述】:
除了原因,我发现了以下几点:
var lines = ["Line 1", "Line 2", "Line 3"], i = 0, line;
for (line[i]; i < lines.length; line = lines[i++]) {
console.log(line); //Outputs "Line 1" three times
}
for (line[i]; i < lines.length; i++, line = lines[i]) {
console.log(line); //Outputs "Line 1", "Line 2", "Line 3"
}
唯一的区别是将 final-expression 语句中的 i++ 分隔成两个用逗号分隔的语句(谁想到了这种语法,顺便说一句?!多个语句不应该用分号分隔并用 {} 包裹吗?就像我们在其他地方使用一样?我离题了......)那么是什么给了Javascript? line=lines[i++] 在你环绕那个循环时对你来说太复杂了吗?
在有人问我为什么不能把 line=lines[i] 放在循环的顶部之前:因为第一个例子很优雅。它使事物分开。
所以我的问题是:为什么,Javascript,为什么?
【问题讨论】:
-
这是什么
for循环? -
两个循环都无法运行
line is undefined -
有时它不是语言,而是你如何使用它让你感觉WTF...
标签: javascript loops for-loop expression