老师 这个为什么是NaN
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>arguments</title>
</head>
<body>
<script>
//补充代码
function add(){
var sum=0,
len=arguments.length,
i;
for(i=0;i<=len;i++){
sum+=arguments[i];
}
console.log(sum);
return sum/len;
}
var num=add(60,50,30,40);
document.write(parseInt(num));
</script>
</body>
</html>
正在回答
同学你好,在使用for循环遍历arguments类数组对象时,因为arguments下标值的范围为:0~length-1,
所以,循环变量i应从0开始(即i=0),到arguments类数组对象的长度-1结束(即i<=len-1)。
如果循环变量i取到len,那么arguments[len]是undefined,undefined与数字相加结果为NaN,建议参考如下修改:
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星