[JavaScript]命名参数与arguments

JavaScript中的function不会对参数进行限制以及检查:

function并不介意传进来多少参数,或者传进来的参数是什么类型(即使参数个数与function的定义不一致)。

 

function中的参数在内部由arguments保存,它是一个“数组”(其实只是类似数组),可以通过下标访问的形式获取到传入函数的参数。

arguments.lenght 可以获取传入function的参数数量。

function test()
{
    alert(arguments.length);
}

test(); // 0
test("hi"); // 1
test("hi", 1); // 2

 

 

function定义中的命名参数只提供便利,但不是必须的。

命名参数与对应的arguments中的元素保持同步:

function test(arg)
{
    arguments[0] += 10;
    alert(arg);
}

test(10); // 20

 

 

如果function中定义了参数,但是没有为参数传入值,那么参数会被自动赋予undefined值。

 

posted @ 2015-02-07 11:36  codeFuture  阅读(843)  评论(0)    收藏  举报