为什么定义了len=arguments.length,就显示不出来?
来源:1-19 编程练习
weibo_纷纷的想念_0
2017-03-06 18:31:22
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>arguments</title>
</head>
<body>
<script>
var sum=0,var len=arguments.length,i;
function getavg(){
for(i=0;i<len;i++){ sum+=arguments[i];}
var avg=sum/len;
var num=parseInt(avg);
return num;
}
document.write(getavg(45,525.621,62));
</script>
</body>
</html>
为什么定义了len=arguments.length,就显示不出来?
但是我直接用arguments.length就可以正常显示,如下就可以
var sum=0,i;
function getavg(){
for(i=0;i<arguments.length;i++){ sum+=arguments[i];}
var avg=sum/arguments.length;
var num=parseInt(avg);
return num;
3回答
var sum=0,var len=arguments.length,i;
你要么就var sum=0,len=arguments.length,i;
或者var sum=0;
var len=arguments.length,i;
至于下面为什么可以,因为你的arguments.length没有定义就直接用了,默认就是全局变量
Hbrsql
2017-03-07
个人理解,供参考:
var len=arguments.length;
//写在函数外面,即取得是window(全局变量)环境中的arguments,
//而window没有这个属性,就报错. arguments是函数的属性,应该写在函数里.
东方既白233
2017-03-07
arguments 你这个应该是数组吧,但是你的代码不完整,你这个arguments究竟有没有去取呢?你前面有没有取呢,没取的话是不能直接用的
相似问题
回答 1
回答 2