日期:2014-05-16 浏览次数:20354 次
1、任何函数内部都包含了arguments对象,其表现与数组类似,可以使用下标访问arguments的数据成员。
arguments主要用于保存调用函数的实际参数数据。
function test() { alert(arguments[0]); //1 alert(arguments[1]); //2 } test(1, 2, 3)
function test(a, b, c) { arguments[1] = 1; alert(b); // 1 alert(arguments[1]==b);// true b = 3; alert(arguments[1]); // 3 alert(arguments[1]==b); //true } test(1, 2, 3)3、如果传递给函数的实参少于形参,则arguments与未初始化的形参数据不会进行关联同步。
function test(a, b, c) { arguments[2] = 1; alert(c); // undefined alert(c == arguments[2]); // false c = 3; alert(c);//3 alert(arguments[2]); // 1 } test(1, 2);
function test(){
alert(arguments.callee == test); //true
}
test();
5、简单的一个demo如下:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>arguments</title> <script type="text/javascript"> function test () { for (var i = 0; i < arguments.length; i++) { document.writeln("函数的参数个数是:"+arguments.length+";运行结果是:"+(arguments[i]+10)+".") }; } test(10);//1;20 test(10,20);//2:20和2:30 </script> </head> <body> </body> </html>