关于return返回值的问题

关于return返回值的问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>arguments</title>
</head>
<body>
<script>
var sum=0,len=arguments.length,i;
function getAvg(){
for(i=0;i<len;i++){
sum=sum+arguments[i];
}
return sum/len;
}
console.log(getAvg(1,2,3,4));
</script>
</body>
</html>

在视频中,函数getAvg这里是将调用的值赋给了avg,因而有了声明var avg=getAvg(1,2,...),那么如果我直接使用console.log(getavg)来打印结果,为何显示错误呢?其中的原理还不是很懂

正在回答 回答被采纳积分+1

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

2回答
好帮手慕糖 2018-06-22 17:09:47

你好,可以把arguments看做一个类数组(类似于数组);把传入到这个函数的全部参数(就是调用函数时传入的参数)存储在arguments中。所以arguments要在函数中。建议:可以在看下上节课arguments的讲解,结合来理解下。

祝学习愉快~

  • 提问者 小小之植物 #1
    大致上明白了,那么简单来说,arguments是调用函数时传入的参数的容器,而arguments必须在函数内中使用,我这样理解可以吗?
    2018-06-22 17:19:00
  • 好帮手慕糖 回复 提问者 小小之植物 #2
    可以这么理解。祝学习愉快~
    2018-06-22 17:30:17
好帮手慕糖 2018-06-22 15:55:03

你好,不赋值给avg也是可以的,这里报错是因为arguments;arguments 是一个对应于传递给函数的参数的类数组对象;是指传递给函数的参数,所以arguments要在函数中使用。

http://img1.sycdn.imooc.com//climg/5b2caaf200018c0305600349.jpg

祝学习愉快~

  • 提问者 小小之植物 #1
    对于这个概念还是有点懵懂,老师能举一下例子吗?
    2018-06-22 16:58:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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