我如何告诉Javascript功能来使用零作为一个变量,如果是空的传递变量?在PHP中,我可以使用以下内容。的Javascript传递一个空的变量
<?php
function test($var=0){
echo $var;
}
?>
因此,这将是$ var设置为0,如果传递的变量是空的。我似乎无法用Javascript解决这个问题。
感谢
我如何告诉Javascript功能来使用零作为一个变量,如果是空的传递变量?在PHP中,我可以使用以下内容。的Javascript传递一个空的变量
<?php
function test($var=0){
echo $var;
}
?>
因此,这将是$ var设置为0,如果传递的变量是空的。我似乎无法用Javascript解决这个问题。
感谢
如果你调用一个方法,无需提供的参数之一(或更多)的值,这些参数会undefined
。
这样的方法中,你可以测试变量是否定义,如果没有分配给它一个默认值:
function test(arg) {
if (typeof(arg) === 'undefined') {
arg = "default"; // or whatever default value you want
};
// Rest of method
}
这不是很优雅,但JavaScript并没有一个很好的本地默认参数句法。
这应该工作:
function myFunc(var) {
if (null == var)
var = 0;
}
严格,只有工作,因为强制类型转换,这是不完全真实需要什么样的。如果var'没有提供,'var'不是'null',它是'undefined'。即使调用者传递了显式值“null”,这里的代码也会分配默认值,这并不像我所理解的那样。 – 2011-05-23 14:23:10
可以使用或操作员要做到这一点有点短;
function myFunc(var)
{
var = var || 0;
}
如果'var'是布尔值'false'会怎么样?或者是一个空字符串?或者整数'0'?或*来电者提供的任何其他“真实”值? – 2011-05-23 14:24:36
这在很大程度上取决于什么空对您来说意味着什么值参数允许有。
一个经常使用的快捷方式是
param = param || 0;
这将设置param
到0
每当param
evaluates to false
。
的伟大工程。这是一种耻辱,它并不是非常优雅,但它可以完成这项工作。谢谢! – Doyley 2011-05-23 14:35:17
'var'是一个保留关键字!你的例子会产生一个语法错误。 – 2011-05-23 17:04:35
非常真实的萨尔曼 - 我是镜像PHP示例中的问题,但这不是真正为非法语法的借口!我会马上更新它,谢谢。 – 2011-05-24 08:01:06