Arguments(实参)对象

 定义

(1)由于 JavaScript 允许函数有不定数目的参数,所以需要一种机制,可以在函数体内部读取所有参数。这就是arguments对象的由来。

(2)arguments对象包含了函数运行时的所有参数,arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推。这个对象只有在函数体内部,才可以使用。

 length属性

(1)通过arguments对象的length属性,可以判断函数调用时传递的实际参数个数。

(2)注意 arguments对象的length属性显示实参的个数,函数的length属性显示形参的个、

(3)形参只是提供便利,但不是必需的

和数组的关系

(1)需要注意的是,虽然arguments很像数组,但它是一个对象。数组专有的方法(比如slice和forEach),不能在arguments对象上直接使用。

(2)如果要让arguments对象使用数组方法,真正的解决方法是将arguments转为真正的数组。

callee 属性

(1)arguments对象有一个名为callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。

箭头函数不绑定arguments

箭头函数是不绑定arguments的,所以我们在箭头函数中使用arguments会去上层作用域查找

注意:浏览器在全局是没有arguments的

 

posted @ 2023-02-21 11:50  不特别但唯一  阅读(86)  评论(0编辑  收藏  举报