arguments:
- 是一个在函数内使用的变量
- 是函数的天生自带的变量
- 是一个数据集合(承载数据的盒子)
- 承载的就是该函数被调用的时候传递的所有 实参
- 函数实参的集合
arguments 的基本操作
length 属性:
- 语法: arguments.length
- 表示: 该数据集合内有多少个数据, 也就是你传递了多少个实参
- 得到: 是一个数值类型(Number)
索引属性:
- arguments 内的数据是按照顺序依次排列的
- arguments 内的每一个数据都有一个自己的 “序号”(索引/下标)
- 索引(下标): 从 0 开始, 依次 +1
- 可以利用索引去访问 arguments 内的每一个数据
- 语法: arguments[索引]
- 得到的就是该索引位置对应的数据
- 如果没有该索引位置, 那么就是 undefined
- 最后一位的索引一定是 arguments.length-1
遍历 arguments:
- 从头到尾获取到每一个数据
- arguments 内可以利用索引去访问每一个数据
- arguments 内的索引是一组有规律的数字(从 0 开始, 依次 +1)
- 循环可以给我们提供一组有规律的数字
- 可以利用 循环 去遍历 arguments:使用循环控制变量去充当索引访问 arguments 内的每一个数据
function fn() {
console.log(arguments)
console.log('length : ', arguments.length)
console.log('arguments[0] : ', arguments[0])
}
fn()
fn(10)
fn(10, 20)
fn(10, 20, 30)
遍历:
// 遍历
function fn() {
console.log(arguments)
// 需要循环拿到 0 ~ 7 的数字(为了和 arguments 的索引配套)
// 开始: 0, 索引从 0 开始
// 结束: length - 1, 最后一位的索引一定是 length-1
// 步长: +1, 索引是依次 +1
for (var i = 0; i < arguments.length; i++) {
// 可以把循环控制变量 i 当做索引来使用
console.log(arguments[i])
}
}
fn(10, 20, 30, 40, 50, 60, 70, 80)