Javascript的参数对象应用程序示例

参数对象

在函数代码中,使用特殊对象参数,开发人员可以在不显式地指出参数名称的情况下访问它们。

例如,在函数sayhi(),第一个参数是消息。您也可以访问这个值与参数{ 0 },这是第一个参数的值(第一个参数是位于位置0,第二个参数是位于位置1,等等)。

因此,可以重写该功能而不需要指定命名参数。


功能sayhi(){
如果(参数{ 0 } =再见){
返回;
}

警报(参数{ 0 });
}


检测参数个数

争论的对象也可以被用于检测函数的参数的数量和属性arguments.length可以参考。

下面的代码将输出用于每个调用函数的参数个数:


功能howmanyargs(){
警报(参数,长度);
}

HowManyArgs(字符串
HowManyArgs();
HowManyArgs(12);


代码的以上部分将显示2

注:不同于其他编程语言,ECMAscript不验证传递给函数的参数的个数等于函数定义的参数的数量。由开发商的函数可以接受任意数量的参数(根据网景的文件,最多255个)没有造成任何的错误。任何缺少的参数将通过定义传递给函数,和冗余功能将被忽略。

模拟函数重载

参数对象用于确定传递给函数的参数数,该函数可以模拟函数重载:


功能doadd(){
如果(arguments.length = = 1){
警报(参数{ 0 } + 5);
} {如果其他(arguments.length = 2)
警报(参数{ 0 } +参数{ 1 });
}
}


DoAdd(10); / /输出15

DoAdd(40, 20); / /输出60

当只有一个参数,该doadd()函数的参数增加5。如果有两个参数,这两个参数的总和将被添加到他们的总和。因此,doadd(10)输出是15

它沉重的负荷是不好的,但也足以避免ECMAscript。