无意中看到一段javascript代码,自己运行了一下,然后粘贴了上来,加了点注释,查了一个arguments相关的。
代码:
<script type="text/javascript">
function b (x, y, a) {
alert(arguments.length); //获取被传递参数的个数 ----- 3
alert(arguments[0]);//输出第一个参数:x -------1
alert(arguments[1]);//输出第二个参数:y -------3
alert(arguments[2]);//输出第三个参数:a ------ 5
arguments[2] = 10; //第三个参数a赋值为:10
alert (a);
}
b(1, 3, 5);
</script>
Arguments:
JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。
使用方法:
[function.]arguments[n ]
其中function是可选项。当前正在执行的 Function 对象的名字。
n是必选项。要传递给 Function 对象的从0开始的参数值索引。
不能显式创建 arguments 对象。arguments 对象只有函数开始时才可用。函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同。索引 n 实际上是 arguments 对象的 0…n 属性的其中一个参数。
可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。
还有,arguments对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,而且不能显式创建 arguments 对象。arguments 对象只有函数开始时才可用。