学习
实践
活动
专区
工具
TVP
写文章

完全理解 arguments

完全理解 arguments 什么是 arguments 它是JS的一个内置对象,常被人们所忽略,但实际上确很重要,JS不像JAVA是显示传递参数,JS传的是形参,可以传也可以不传,若方法里没有写参数却传入了参数 ,该如何拿到参数呢,答案就是arguments了,在一些插件里通常这样使用。 然而它却不是数组 虽然arguments不是数组但是我们可以将它转换成数组 [].slice.call(arguments); 参数与 arguments 的关系 先看代码: function a1(x [0] = 2; console.log(x, arguments[0]); } a2(); // undefined 2 我们看到,如果缺省参数,arguments和参数是完全隔离开的。 { arguments[0] = 2; console.log(x, arguments[0]); } a4(1); // 2 2 我们看到这里arguments和参数是双向绑定的

22320
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS中Arguments对象

    描述 arguments 是一个对应于传递给函数的参数的类数组对象。 arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。 例如,如果一个函数传递了三个参数,你可以以如下方式引用他们: arguments[0] arguments[1] arguments[2] 当然参数也可以被设置: arguments[1] = 'new ); // ES2015 const args = Array.from(arguments); const args = [...arguments]; 属性 arguments.callee 指向参数所属的当前执行的函数 因为arguments这个对象不能显式创建。 arguments对象只有函数开始时才可用。 拓展 length 属性 遍历参数来求和。 arguments[0]() ( arguments[0] ==> fn() ),此时的 this 指向到了arguments对象上。所以输出值为arguments的长度。

    41020

    扫码关注腾讯云开发者

    领取腾讯云代金券