在PHP中,如果不传递参数,我有一些函数会将变量设置为null。例如:
函数调用:
myExample(8);
功能定义:
function myExample($var1, $var2 = null);
预期结果:
$var 1 = 8;
$var 2 = null;
JavaScript中是否存在类似的语法?我试着直接做,但没有成功。
简而言之,没有。您不能在函数声明中指定默认值。
但是:
function myExample($var1, $var2) {
}
myExample(1);
将导致函数内部的$var2
为undefined
。
在javascript中,您可以向函数传递任意数量的参数,而无需声明它们。您可以使用变量参数访问它们,这有点像数组(它有一个长度属性,但实际上是一个对象)
你可以做:
function yourfunction (var1){
var var2 = null;
if (arguments.length>1){
var2 = arguments[1];
}
}
这与php中的操作非常相似,因为如果不传递第二个参数,var2为null,否则它等于第二个变量
在这里查找完整的参考
EDIT一个典型的例子是一个函数,它对他的所有论点进行求和,而不考虑它们的数量。我在几本关于javascript的书中找到了它。如果你想阅读更多,一些好的博克是:stoyan stefanov的面向对象的javascript和javascript模式以及常见的javascript:好的部分
function sumValues() {
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
没有。
要允许使用可选参数,只需指定它们即可。如果未提供,则将其定义为未定义。
例如。
Func=函数(arg,opt_arg){警报(arg+''+opt_arg);}Func("测试");//给出"未定义测试"
参数不像php中那样是强制性的。
你可以简单地让这个
如果(opt_arg!='undefined)
检查用户是否提供