Javascript for循环不改变外层变量?

写了一段代码:

let firstNumber = [], secondNumber = [], operator = [];
for(; firstNumber.length < questionTotal; firstNumber.push(Math.floor(Math.random() * 10)));
for(; secondNumber.length < questionTotal; secondNumber.push(Math.floor(Math.random() * 10)));
for(; operator.length < questionTotal; operator.push(Math.floor(Math.random() * 10)));

console.log(firstNumber);
console.log(secondNumber);
console.log(operator);

是想要随机出 questionTotal 长度的三个随机数组,可是检查三个数组时,却都是空数组:

firstNumber = [];
secondNumber = [];
operator = [];

三个数组是定义在循环外的,作用域应当和全局变量一样,可是不明白为什么这样赋值不起作用。

阅读 1.7k
2 个回答

没能复现,符合预期

image.png

不应该,你对变量作用域的了解是对的,你对代码的解读有些问题。我怀疑是你的条件有问题,检查下 questionTotal

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题