你能为变量声明添加一个条件吗?

时间:2012-06-28 18:06:19

标签: javascript variables declaration

这对我没有意义,但我有一种感觉,我看到了使用此代码的代码:

var abc = def || ghi;

我的问题是,这有效吗?我们可以为变量声明添加条件吗?我想答案是否定的,但我心里想到的是,我曾在代码中看到类似的东西。

4 个答案:

答案 0 :(得分:17)

如果abc不是假的(deffalsenull,{{1}或者是一个空字符串),如果没有,则为undefined的值。

这相当于:

0

这通常用于选项:

ghi

如果您致电var abc; if (def) abc = def; else abc = ghi; ,则会使用您提供的值。如果您什么都不提供,它会使用function myfunc (opts) { var mything = opts.mything || "aaa"; }

在这种情况下,为了让调用者完全跳过参数,我们也可以用

启动函数
myfunc({mything:"bbb"})

答案 1 :(得分:6)

代码var abc = def || ghi;

相同
if (def) { //where def is a truthy value
   var abc = def;
} else {
   abc = ghi;
}

你想要一个像if语句的条件吗?

if (xxx==="apple") { 
    var abc = def;
} else {
    abc = ghi;
}

作为三元运算符写的是:

var abc = (xxx==="apple") ? def : ghi;

答案 2 :(得分:3)

,您可以为变量声明添加条件

您可以像这样使用它,

function greet(person) {
    var name = person || 'anonymouse';
    alert('Hello ' + name);
}
greet('jashwant');
greet();​

jsfiddle demo

答案 3 :(得分:0)

好的,看,就像是,你要么检查一个是否属实。真实的将被退回。 :)

var abc = def || ghi;

相当于:

var abc = return (def == true) or (ghi == true)