JavaScript中的另一种常见情况是为变量提供预设值(如果未定义),例如:
if(v){ var x = v; } else { var x = 10; }
快捷方式表示法是双竖线字符:
var x = v || 10;
由于某种原因,我无法为我工作。是否真的有可能检查是否定义了v,如果x = 10则不定义?
谢谢。
该Opera文章对正在发生的事情给出了不好的描述。
确实x会得到10if vis 的值undefined。如果具有 任何 “假”值也x将是正确的。10``v __
x
10
v
undefined
10``v
JavaScript中的“ falsey”值是:
0
null
NaN
""
false
因此您可以看到,除了just之外,还有许多情况x将被设置为。10``undefined
10``undefined
var v = 0; var x = v || 10; alert( x ); // alerts 10
分配v上面我指示的任何falsey值,您将获得相同的结果。