考虑以下JavaScript代码:
var words = delIdx = [0, 1, 2, 3];
for(let i=0; delIdx[i]; i++) {
console.log('DELIDX: ', delIdx[i]);
}
for(let i=0; words[i]; i++) {
console.log('Word: ', words[i]);
}
words
和delIdx
是数组,如您所见,数组的第一个元素设置为0(零),下面的两个FOR循环使用这些数组来控制循环的执行。但是,当0是循环的第一个元素时,它将不起作用。它根本不会进入任何循环。
如果我将数组的值更改为,var words = delIdx = [2, 3, 4, 5]
则循环将完美运行。
有人遇到过这个问题吗?为什么会这样呢?这是JavaScript中的错误吗?
我在Node.js v5.3.0和FireFox 44.0.2控制台中体会到了这一点。
有什么想法吗?
谢谢。
当您for
在javascript中使用循环时,中间部分应该是谓词:
true
,则循环继续false
,则循环停止在这里,您传递了它0
,其结果为false
,因此不会发生循环。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句