Skip to content
快看这页儿写了啥...

No.0090

题干

js
const length = 4; 
const numbers = [];

for (var i = 0; i < length; i++);{ 
  numbers.push(i + 1)
};

console.log(numbers)

题解

js
console.log(numbers) // [5]

错误在于 for 循环的末尾加了一个分号(;),这会导致循环体被忽略,而只执行循环条件。也就是说,代码相当于:

js
const length = 4; 
const numbers = [];

var i = 0;
while (i < length) {
  i++;
}
// 循环结束后,i的值为4

{ 
  numbers.push(i + 1)
};
// 这里相当于一个单独的代码块,只执行了一次,将5推入数组

console.log(numbers) // [5]

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐