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

为什么 var sum=0;可以,var sum;结果却不一样?

  var scoreStr = "小明:87;小花:81";

 

 var arr=scoreStr.split(';');

 var sum=0;   //定义var sum;  为什么达不到效果??



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

  

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

      var index=arr[i].indexOf(':')+1;

      sum+=parseInt(arr[i].substr(index,2));

  }

  var pj=Math.floor(sum/arr.length);

  document.write('平均分是'+pj);


正在回答

2 回答

我初步看了一下,简单来理解的话,我是这么想的sum是一个变量。当你没有给sum赋值时,它后面出现的这一步是不能识别的,sum+=parseInt(arr[i].substr(index,2));这里相当于sum=sum+parseInt(arr[i].substr(index,2));在这里之前它一直都是sum字符,在相加

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

var sum; sum为undefined

javascript 有种叫做类型转换,相加操作的时候,会把值的类型进行转换
比如1+undefine   undefine就会被转化为数字 NaN   1+NaN 返回 NAN
如果 undefine+“123” 那么undefine就会被转化为字符串 “undefine” 输出结果就是undefine123

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

举报

0/150
提交
取消

为什么 var sum=0;可以,var sum;结果却不一样?

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