如何获取arguments对象的length属性?示例代码中为何找不到它?
关于arguments对象的length属性
如何获取arguments对象的length属性
arguments是函数执行时内部才会存在的特殊对象,只能在函数体内访问。要获取它的length属性,直接在函数内部使用arguments.length即可,这个值代表调用函数时传入的实参总数。
示例代码:
const add = function(a, b) { // 在函数内部访问arguments的length console.log(arguments.length); return a + b; } add(1, 2, 3, 4, 5); // 控制台会输出5
你的代码找不到arguments的原因
你当前的代码调用Object.getOwnPropertyDescriptors(add),是在查看add函数自身的属性描述符,但arguments并非函数的属性——它是函数被调用时,在函数执行上下文里生成的局部对象,只在函数运行期间存在,和函数本身的属性没有关系。
所以你在函数外部打印函数的属性,自然找不到arguments及其length属性。
内容的提问来源于stack exchange,提问作者Sein kim
相关产品推荐
相关产品推荐

