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

时间:2011-06-26 13:09:55

标签: php javascript variables syntax

在PHP中,如果未传递参数,我将函数设置为null。例如:

函数调用:

myExample(8);

功能定义:

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

预期结果:

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

JavaScript中是否存在类似的语法?我试着直接做它并没有用。

3 个答案:

答案 0 :(得分:4)

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

可是:

function myExample($var1, $var2) {
}

myExample(1);

将导致$var2在函数内成为undefined

答案 1 :(得分:1)

在javascript中,您可以将任何数量的参数传递给函数,而无需声明它们。你可以使用类似数组的变量参数访问它们(它有一个长度属性,但实际上是一个对象)

你可以这样做:

function yourfunction (var1){
    var var2 = null;
    if (arguments.length>1){
         var2 = arguments[1];
    }
}

这与你在php中所做的非常相似,因为如果你没有传递第二个参数,var2为null,否则它等于第二个参数

查看here以获取完整参考资料

编辑一个典型的例子是一个函数,它对所有参数求和,无论它们的数量如何。我在几本关于javascript的书中找到了它。如果你想阅读更多一些好的boks:面向对象的javascript和javascript模式由stoyan stefanov和通常的Javascript:好的部分

  function sumValues() {
   var sum = 0;
   for (var i = 0; i < arguments.length; i++) {
    sum += arguments[i];
   } 
   return sum;
  }

答案 2 :(得分:1)

不,不。

要允许可选参数,只需指定它们即可。如果未提供它们,则将它们定义为未定义。

EG。

Func = function(arg, opt_arg)
{
    Alert(arg + ' ' + opt_arg);
}

Func('test');// gives "test undefined"

参数不像php那样是强制性的。

你可以这么简单地

 
If(opt_arg  != 'undefined)

检查用户是否提供了