这是没有意义的给我,但我有一种感觉,我看到使用这个代码:
var abc = def || ghi;
我的问题是,这是有效的? 我们可以添加一个条件变量声明? 我想答案是否定的,但我有这个在我的脑海里,我看到的代码类似的东西一次。
这是没有意义的给我,但我有一种感觉,我看到使用这个代码:
var abc = def || ghi;
我的问题是,这是有效的? 我们可以添加一个条件变量声明? 我想答案是否定的,但我有这个在我的脑海里,我看到的代码类似的东西一次。
这得到abc
的值def
如果不是falsy(即不false
, null
, undefined
, 0
或空字符串),或的值ghi
如果不是。
这相当于:
var abc;
if (def) abc = def;
else abc = ghi;
这是常用的选项:
function myfunc (opts) {
var mything = opts.mything || "aaa";
}
如果调用myfunc({mything:"bbb"})
它使用你给的值。 它采用"aaa"
如果你提供什么。
在这种情况下,为了让呼叫者完全跳过参数,我们也已经开始与功能
opts = opts || {};
代码VAR abc = def || ghi;
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;
是的 ,你可以添加条件变量声明
您可以使用它像这样,
function greet(person) {
var name = person || 'anonymouse';
alert('Hello ' + name);
}
greet('jashwant');
greet();
的jsfiddle演示
好吧,看,它是一样的东西,你要么检查,如果有一个为真。 真正的一个将被退回。 :)
var abc = def || ghi;
相当于:
var abc = return (def == true) or (ghi == true)