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

求大神看下我这段代码,为什么sum=sum+a没有反应?

求大神看下我这段代码,结果应该是81,可为什么sum=sum+a没有反应?

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

var NewStr=scoreStr.split(";");

    var NewScore=new Array();

    var i=0;

    while(i<NewStr.length){

        NewScore=NewStr[i].split(":");

        document.write(NewScore);

        i++;

        var sum=0;

        var a=parseInt(NewScore[1]);

        sum=sum+a;

        

    }

    document.write("班级总分为:"+Math.round(sum/NewStr.length));


正在回答

2 回答

把sum变量放在while外面声明

0 回复 有任何疑惑可以回复我~
#1

__正正经经先生4337661 提问者

对了,谢谢,但是为什么放在外面就行了?这个函数还不能调用里面的变量吗?
2016-11-05 回复 有任何疑惑可以回复我~
#2

慕粉3123627 回复 __正正经经先生4337661 提问者

你放在 while里面,每循环一次,就把sum给归0了,最后的sum结果就是最后一个小曼76的这个值,而不是累加的,所以要放在while外面
2016-11-05 回复 有任何疑惑可以回复我~
#3

__正正经经先生4337661 提问者 回复 慕粉3123627

哎,是我犯二了
2016-11-05 回复 有任何疑惑可以回复我~

代码不全吧,scoreStr没有给出来

0 回复 有任何疑惑可以回复我~
#1

__正正经经先生4337661 提问者

前面scoreStr我忘记加上了,我现在加上去了,不是没给出来的问题
2016-11-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求大神看下我这段代码,为什么sum=sum+a没有反应?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信