JS中“arguments对象”是什么?

2024-11-16 18:31:48
推荐回答(2个)
回答1:

函数体内标识符arguments指向实参象引用实参象类数组象 arguments[0]arguments.length

arguments?

答:1:arguments收实参副本

词析, 首先按形参形AO属性,值undefined

实参传, 再修改AO相应属性.

2:并所收实参收集起,放arguments象

t(a,b,c){},

调用: t(1,2,3,4,5) 5参数

, AO属性a,bc,3属性, arguments1,2,3,4,5, 所值

于超形参数外实参, 通arguments获

3:arguments 索引  0, 1,2,....递增,与实参逐应

4:arguments.length 属性代表实参数

5:arguments定数组, 比较像数组象,虽length属性

6:arguments每函数都,,arguemnts内部找自身arguments,

引用外层arguments

回答2:

  参考下我的js笔记

  在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象 arguments[0],arguments.length

  arguments是什么?
  答:1:arguments是收到的实参副本
  在词法分析中, 首先按形参形成AO的属性,值为undefined
  当实参传来时, 再修改AO的相应属性.
  2:并把所有收到实参收集起来,放到一个arguments对象里
  t(a,b,c){},
  调用时: t(1,2,3,4,5) 5个参数
  此时 , AO属性只有a,bc,3个属性, arguments里有1,2,3,4,5, 所有的值

  对于超出形参个数之外的实参, 可以通过arguments来获得
  3:arguments 的索引 从 0, 1,2,....递增,与实参逐个对应
  4:arguments.length 属性代表实参的个数
  5:arguments一定不是数组, 是长的比较像数组的一个对象,虽然也有length属性
  6:arguments每个函数都会有,因此,arguemnts只会在内部找自身的arguments,
  无法引用到外层的arguments