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的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2022-02-21 前端打包
2022-02-21 Web端登录逻辑整理
2022-02-21 Vue.set()方法的使用