最后显示的是Nan是为什么

最后显示的是Nan是为什么

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>arguments</title>
</head>
<body>
    <script>
function getAvg(){
var i,len=arguments.lenght,sum=0;
for(i=0;i<len;i++){
sum+=arguments[i];
}
return parseInt(sum/len);
}
var avg=getAvg(5,10,15,20,25);
document.write(avg);
</script>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,第10行代码拼写错误,应该是len=arguments.length 。希望对你有帮助,祝学习愉快。

  • 说起来你不信 提问者 #1
    非常感谢!
    2017-03-17 17:08:49
  • 想请问一下,在for循环中定义的i,能在循环外面使用吗? 它是局部变量还是全局变量啊?
    2017-03-26 10:53:48
  • 你好,因有例子,看回答的内容。祝学习愉快。
    2017-03-26 15:00:59
小于飞飞 2017-03-26 14:59:55

你好,javascript中没有块级作用域,只有函数作用域和全局作用域。看下面的小例子:

第一个:

 var i=0; //定义全局变量0  
 function abc(){  
    for(i=0;i<1;i++){   
      alert("inner i:"+i);  
     }  
 }  
abc();  
alert(i); //显示1,而不是之前定义的0

第二个:  

function abc(){  
    for(var j=0;j<1;j++){ 
        var i="imooc"; 
        alert("inner j:"+j);  
    } 
alert(j); // 函数内的变量可以访问
alert(i); // 函数内的变量可以访问
}  
abc();  
alert(j); // 函数内的变量,函数内访问不到

希望对你有帮助,祝学习愉快,欢迎采纳。

  • 就是说for循环并不是一个函数啊? 如果是在函数外使用for也就是直接在script标签下有一个for循环,那么它定义的初始值i 与循环内部定义以个变量j 就是全局变量了啊? 比如这样 <script> for(var j=0;j<1;j++){ var i="imooc"; alert("inner j:"+j); } alert(j); alert(i); </script> 我自己试了一下是可以弹出来的,看来他们都是全局变量啊?
    2017-03-26 15:38:34
  • 你好,你说的这个情况,是全局变量,切记javascript中作用域划分以funciton为标准 ,而for、while、if块并不是作用域的划分标准,只有函数作用域和全局作用域,祝学习愉快。
    2017-03-26 17:52:21
  • 嗯嗯 好的 谢谢 麻烦了
    2017-03-26 17:54:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师