大家好,我试着创建一个运行十次的简单循环,但相反,我正在进行这种可怕的无限循环。这是代码
var numOfCars = 10,
marker = 0;
while (marker!= numOfCars.length) {
marker++;
console.log('I have this many cars ' + marker);
}
while循环是否总是产生无限次迭代?
答案 0 :(得分:5)
从语言规范中可以看出Number
objects don't have a length
property。访问不存在的属性的计算结果为undefined
。因此,您要循环,直到marker
等于undefined
,这将永远不会出现这种情况。
答案 1 :(得分:0)
Beacouse numOfCars.length
返回undefined,因此marker!= numOfCars.length
始终为真。属性.length
仅适用于数组和字符串。
答案 2 :(得分:0)
您可以尝试此代码
var numOfCars = 10 , marker = 0;
while (marker!= numOfCars) {
marker++;
console.log('I have this many cars ' + marker);
}
答案 3 :(得分:-4)
使用for
循环:
var numOfCars = 3;
for ( var marker = 0; marker < numOfCars; marker++) {
console.log('I have this many cars ' + marker);
}