本代码为什么 SUM出不来?

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>

<script type="text/javascript">

  //通过javascript的日期对象来得到当前的日期,并输出。
  var currenttime=new Date();
  var year=currenttime.getFullYear();
  var month=currenttime.getMonth()+1;
  var date=currenttime.getDate();
  var day=currenttime.getDay();
  var hour=currenttime.getTime(); 

  weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
  document.write(year+"年"+month+"月"+date+"日"+weekday[day]+"<br/>")        
  
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var scoreArray = scoreStr.split(";"); 
  for( var i=0;i<scoreArray.length;i++){
	  var site=scoreArray[i].indexOf(":")
	  var score=scoreArray[i].substring(site+1);
	  var name=scoreArray[i].substring(0,site)
	  document.write("姓名:"+name+"<br/>");
	  document.write("成绩为:"+score+"<br/><br/>");
	  var sum; 
	  sum += parseInt(score);
	  }
  document.write("总体成绩为:"+sum+"<br/><br/>");

  //从数组中将成绩撮出来,然后求和取整,并输出。
  
</script>
</head>
<body>
</body>
</html>


慕工程9285452
浏览 1548回答 1
1回答

chenjs

var sum; sum += parseInt(score);在定义一个变量sum时要给它赋值为0,不然下一行的代码sum += parseInt(score);(实质为sum=sum+parseInt(score))在第一次加的时候会调用sum但这时的sum变量内存地址中并无内容,所以会导致出错,还有定义sum的时候应该在for循环之外,不然每次循环都会重新定义一个sum,这样也会没有求和的效果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java