明图
2017-02-15 10:26
<script type="text/javascript"> var source = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var source2 = source.split(";"); for (var i = 0; i < source2.length; i++) { var score=new Array(); score[i]=parseInt(source2[i].substr(source2[i].indexOf(":")+1));//source2[i].indexOf(":")表示从:出现的位置,而+1则是把:下一个开始提取 document.write(score[i]+","); var sum; sum +=score[i]; } document.write(sum); </script>
为啥每运行一次,sum的值就会加上815(815才是本来要求的sum值)
var sum;应该放到循环外面且要赋值为0.
对sum的赋值应该放在循环的外面,且要赋初始值0
<script type="text/javascript">
var source = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var source2 = source.split(";");
var=sum; sum=0;
for (var i = 0; i < source2.length; i++) {
var score=new Array();
score[i]=parseInt(source2[i].substr(source2[i].indexOf(":")+1));
//source2[i].indexOf(":")表示从:出现的位置,而+1则是把:下一个开始提取
document.write(score[i]+",");
sum +=score[i]; }
document.write(sum);
</script>
JavaScript进阶篇
468781 学习 · 22507 问题
相似问题