for嵌套循环 累加结果为NaN?
const real = new Array();
for (let k = 0; k < 100; k += 50) {
for (let n = 0; n < 5; n += 1) {
real[k] += n;
}
}
运行结果为什么是NAN?怎样才能正确累加呀?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
累加没有初始值,也就是说,初始值是
undefined
,跟数字相加都是NaN
。可以在内循环开始前给个初始值:
如果数组定长,可以在产生数组的时候就用
.fill
把初始值给填上,顺便一提:
n += 1
可以用n++
或者++n
代替。// 第一次 real[k] 就是 undefined
console.log(undefined + 1);
结果: NaN
结果
js是弱类型语音,变量不给初始值的话默认给undefined初始值