JavaScript学习系列3 -- JavaScript arguments对象学习

在实际项目开发中,目前还是很少使用到JavaScript 中的arguments对象,那么它到底是干什么用的呢

arguments是JavaScript中的一个类数组对象,它代表传给一个正在执行的函数function的参数列表。  

看完这个定义,需要明白,它是一个对象,不是一个数组,但是它这个对象却又类似数组,也就是说样子和数组类似. 那它的内容,它里面的内容是传递给正在执行的函数Function的参数列表

上面都特别强调,是 正在执行的函数function,这也就是说,arguments对象只有函数已经开始执行时,才可以使用,才能取到值

我们来看一个例子,能够更直观的理解它

function showArgs()
{
    console.log(arguments);
}

showArgs("a","1",{ test: "only for test" });

执行结果如下

["a","1",Object]

上面的函数showArgs作用是输出它的参数列表,当我们调用它 showArgs("a","1",{ test: "only for test" }) 时,可以看到,它总共包括3个参数,分别是”a“,"1",{ test: "only for test" }, 其中,第三个{ test: "only for test" }是个object, javascript无法直接输出它,所以就输出了object

如果要访问其中某一个参数呢,arguments提供和数组一样的方式来访问单个参数,也就是使用下标arguments[0],arguments[1]来访问. 

形式应该是这样的 [function].arguments[n]  function在这里可以省略,表示的是当前正在执行的Function对象的名字

在上面的函数中, arguments[0] = "a", arguments[1] = "1" , arguments[2] = {test: "only for test"}

接下来,我们来看看arguments对象的一些属性

1. length属性

上面说了arguments是个类数组对象,它和数组一样,也有一个length属性,我们可以通过arguments.length来获得传入函数的参数个数

2. callee属性

猜你喜欢

转载自www.cnblogs.com/wphl-27/p/9467422.html