javascript核心技术(四十五)深入学习函数(二) 用arguments接收不定数量的参数

[复制链接]
查看: 1114|回复: 31
发表于 2023-1-28 16:47:04 | 显示全部楼层 | 阅读模式
在前面的讲解中,定义函数时设置的形参数量决定着可以接收实参的数量,例如:
<!DOCTYPE html>
<html>
<head>
        <title>用arguments接收不定数量的参数</title>
        <script src="./jquery.js"></script>
</head>
<body>
        <script type="text/javascript">
        function f(m,n){
                return m + n;
        }
        console.log( f(1,2,3) );
        </script>
</body>
</html>

在以上代码中,由于参数只定义了两个参数,所以我们不论给函数传入多少实参,它都只能接收到前两个,所以结果是3。

javascript核心技术(四十五)深入学习函数(二) 用arguments接收不定数量的参数

假如我们有这样一种需求,让一个函数计算所有参数的和。
这时,我们可能为函数传入5个参数,也可能传入10个参数,参数数量是不定的,那么函数的形参应该如何定义呢?

这时就用到了本节所讲的知识点:arguments

请看以下代码:
<!DOCTYPE html>
<html>
<head>
        <title>用arguments接收不定数量的参数</title>
        <script src="./jquery.js"></script>
</head>
<body>
        <script type="text/javascript">
        function fn(){
                //arguments对象(类数组的对象): 用来获取所有的实参
                // console.log(arguments);
                // console.log(arguments[0]);
                // console.log(arguments[1]);
                // console.log(arguments.length);
                var sum = 0;
                for(var i=0; i<arguments.length; i++){
                        //arguments[i] 是一个实参
                        sum += arguments[i];
                }
                return sum;
        }
        console.log( fn(1) );
        console.log( fn(1,2) );
        console.log( fn(3, 4, 5) );
        </script>
</body>
</html>

javascript核心技术(四十五)深入学习函数(二) 用arguments接收不定数量的参数

使用arguments来接收参数时,我们不需要给函数定义形参,在调用函数时可以传入任意数量的参数,在函数内部只需要遍历arguments这个对象即可得到所有的实参。

易博软件介绍

0

主题

33

帖子

18

积分

营销入门

Rank: 2

积分
18
发表于 2023-2-22 20:08:02 | 显示全部楼层
好!

0

主题

29

帖子

16

积分

营销入门

Rank: 2

积分
16
发表于 2023-3-5 23:26:50 | 显示全部楼层
看你的文章,真的挺受益啊~~~  我以后一定要努力!

0

主题

10

帖子

6

积分

营销入门

Rank: 2

积分
6
发表于 2023-3-16 06:08:29 | 显示全部楼层
真的很受启发,但是很多时候只是为了赶进度,只能拿最拿手的最快的办法来写了

0

主题

19

帖子

10

积分

营销入门

Rank: 2

积分
10
发表于 2023-3-24 21:30:18 | 显示全部楼层
汗,看了之后我流汗了.  CPU是为用户服务的,不是为程序员服务的经典!

0

主题

24

帖子

13

积分

营销入门

Rank: 2

积分
13
发表于 2023-3-31 06:43:09 | 显示全部楼层
你是我的小目标 呵呵

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-4-4 16:45:33 | 显示全部楼层
严重支持!

0

主题

16

帖子

9

积分

营销入门

Rank: 2

积分
9
发表于 2023-4-9 17:45:31 | 显示全部楼层
学海无崖苦做舟,努力,努力,再努力!
发表于 2023-4-14 11:43:08 | 显示全部楼层
让暴风雨来的更猛烈些!努力!

0

主题

3

帖子

2

积分

营销入门

Rank: 2

积分
2
发表于 2023-4-19 08:48:43 | 显示全部楼层
我喜欢看这类的文章,能学到很多知识,特别是你的宝贵经验教训,我恨是受启发啊!  我不是学计算机的,但是我现在从事的专业需要学编程方面的知识,所以我会牢记你的忠告!希望你能发表更多的感慨!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表