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

为什么b输出时是NaN

https://img1.sycdn.imooc.com//5c5e771e000189db09050559.jpg

无法获取相加的值为什么呢?


正在回答

2 回答

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

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

 

  var n=0;

  var b=0;

  var arr=new Array();//把下面的arr数组定义移到这里

  for(var i=3;i<scoreStr.length;i=i+6){

    //var arr=new Array(); 

       arr[n]=parseInt(scoreStr.substr(i,2));

       document.write((n+1)+"."+arr[n]+"<br>");

       n++;

  }

  

//从数组中将成绩撮出来,然后求和取整,并输出。

for(i=0;i<arr.length;i++){

    b+=arr[i];

}

document.write(b);


</script>

</head>

<body>

</body>

</html>


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

王师傅倒拔毛毛

你把第一个for循环里的arr数组定义提到for循环外面,否则每进行一次循环,都要重新定义一个数组arr,所以循环结束以后,arr只有最后一个数76,成绩就没法求和了。
2019-02-13 回复 有任何疑惑可以回复我~

123

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

为什么b输出时是NaN

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