首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js中的arguments参数使用(附示例)

js中的arguments参数使用(附示例)

原创
作者头像
lyhcms
发布2024-11-02 17:06:53
发布2024-11-02 17:06:53
72600
代码可运行
举报
运行总次数:0
代码可运行

javascript与其它语言一样,都有类似参数,可以在函数或者方法中,充许传递不限数量的参数。

arguments对象是js中所有函数内部都可以使用的类数组对象,它能接受包含传递给该函数的所有参数,允许访问函数时传递的参数,即使这些参数在函数定义中没有明确列出。arguments对象可以看成数组,但并不是真正意义上的数组,它没有数组相关方法,如forEach,map等,但有length属性。

一、基本概念和特性

  1. 类数组:arguments是据函数的一个内置类数组对象,可以使用数组arri和arr.length。 长度属性:arguments.length,统计函数体内实际参数数量; 索引访问:可以通过arguments0,来访问各个参数;
  2. 函数作用域:arguments对象仅在函数体内有效,不能在全局作用域或函数外部使用。‌动态性‌:即使函数定义了参数,arguments对象仍会包含所有传入的参数,无论这些参数是否在定义中列出。
  3. 访问参数 :可以通过索引获取传递的参数值
  • 命名参数:如果函数定义中有命名参数,你仍然可以通过arguments对象访问它们,即使这些参数没有在函数签名中出现;
  • 可枚举性:arguments对象的元素是可以枚举的,这意味着你可以使用for...in循环来遍历所有参数。

使用方法和示例

示例1:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
    function f1(){
        for(var i=0;i<arguments.length;i++){
            document.write(arguments[i],"<br>");
        }
    }
    f1(3,5,6); 
</script>

浏览器输出结果

代码语言:txt
复制
共有:3个参数
3
5
6

arguments.length 为函数实参个数,可以用argumentslength显示调用参数

2、arguments.callee属性:让匿名函数实现递归

代码语言:javascript
代码运行次数:0
运行
复制
<script>
    var sum = function(n) {
        if(n == 1) {
            return 1;
        } else {
            return n + arguments.callee(n-1);
        }
    }
    document.write("sum =", sum(15)); // 输出: sum =120
</script>

3、arguments.length:查看传递的参数数量

代码语言:javascript
代码运行次数:0
运行
复制
<script>
    function f1(){
        if(arguments.length>0){
            document.write("共有:",arguments.length,"个参数","<br>");
        }else{
            document.write("没有传递参数");
        }

    }
    f1(3,5,6) //输入:共有:3个参数
</script>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例1:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档