例如
var myVar = myVar || {};
或者
var myVar = myVar || [];
这句话是什么意思?
它提供了默认值myVar
,以防万一myVar
评估为假。
这可能发生在myVar
以下情况之一:
“OR”用于分配默认值。未定义的值的计算结果为 false,因此将其与值“或”运算会返回该值,并将其分配给变量。
function myNameFunction(theName)
{
var theName = theName || "John";
alert("Hello " + theName);
}
myNameFunction("dhruv") // alerts "Hello dhruv"
myNameFunction() // alerts "Hello John"
它用于给定一个默认值,并且符号称为 OR,正如您从 if 语句等中所知道的那样:
考虑这种情况:
var Person = function(age){
this.age = age;
}
console.log(new Person(20).age);
// Output will be 20.
console.log(new Person().age);
// Output will be undefined.
如果您没有给出年龄,则输出将是undefined
.
如果您想要提供的值不存在,您可以设置一个默认值。
var Person = function(age){
this.age = age || 0;
}
console.log(new Person(20).age);
// Output will be 20.
console.log(new Person().age);
// Output will be 0.
要了解有关何时适用的更多信息,请参阅@soulchecks 答案。