arguments是什么
它是一个对象,是一个长的很像数组的对象
arguments包含什么内容呢?
它是函数运行时的实参列表。
我们来实际操作一下看arguments里到底有什么
(functions(a){
console.log(arguments)
})(1)
打印出来的
(functions(a,b,c){
console.log(arguments)
console.log(arguments[0])
console.log(arguments[1])
})(1,2,3,4)
我们传了四个参数,在PHP中我们是获取不到第四个参数的,但是js不同,arguments收集所有的实参,即使没有与之对应的形参
打印结果
arguments与形参是一一映射的
刚打印arguments对象我们可以看到,我们可以直接用arguments.length直接获取实参个数
arguments还有一个属性callee,我们还以第一个为例,展开calle
可看出callee中装了当前正在运行的函数,我们可以不用函数名,匿名函数,执行递归