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。