为了账号安全,请及时绑定邮箱和手机立即绑定

for循环求和

for循环求和

云朵ls 2016-09-26 20:45:09
var a=[1,2,3,4,5,6,7,8,9,10];var sum=0;for(i=0;i<a.length;i++){    sum+=a[i];}document.write(sum);以上代码的正确输出是55,为什么当我把“var sum=0;”中=0去掉,不给他赋初始值0时,输出的结果是110?
查看完整描述

2 回答

?
OlderSkee

TA贡献123条经验 获得超103个赞

var a=[1,2,3,4,5,6,7,8,9,10];
var sum ;
console.log(sum)
for(i=0;i<a.length;i++)
{
   sum +=a[i];
}
document.write(sum);

不赋初始值 sum的数据类型 是undefined

所以循环的时候会出问题。 

查看完整回答
1 反对 回复 2016-09-26
  • 云朵ls
    云朵ls
    的时候不是应该没有结果么,但是我运行时变成了双倍的结果,所以特别想知道不赋值还能出双倍结果的原因
  • OlderSkee
    OlderSkee
    我这里测试的是NaN没有结果,没有出现110 啊。
  • 云朵ls
    云朵ls
    我直接用慕课网的编程练习测试的,我把图传问题里
点击展开后面1
?
Caballarii

TA贡献1123条经验 获得超629个赞

你是直接写到后面了吧,sum没清0,加了两遍当然是110了

查看完整回答
反对 回复 2016-09-26
  • 云朵ls
    云朵ls
    没有,同样的位置,就是把“=0”直接去掉了
  • Caballarii
    Caballarii
    不知道你在哪里运行的,如果一开始运行就没有=0结果会是NaN
  • 2 回答
  • 0 关注
  • 2448 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信