JavaScript中是否存在这种PHP语法?函数(var=null)


Does this PHP syntax exist in JavaScript? function(var = null)

在PHP中,如果不传递参数,我有一些函数会将变量设置为null。例如:

函数调用:

myExample(8);

功能定义:

function myExample($var1, $var2 = null);

预期结果:

$var 1 = 8;
$var 2 = null;

JavaScript中是否存在类似的语法?我试着直接做,但没有成功。

简而言之,没有。您不能在函数声明中指定默认值。

但是:

function myExample($var1, $var2) {
}
myExample(1);

将导致函数内部的$var2undefined

在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)

检查用户是否提供