1

例如

var myVar = myVar || {};

或者

var myVar = myVar || [];

这句话是什么意思?

4

3 回答 3

2

它提供了默认值myVar,以防万一myVar评估为假。

这可能发生在myVar以下情况之一:

  • 错误的
  • 0
  • 空字符串
  • 空值
  • 不明确的
于 2013-08-26T06:38:03.627 回答
0

“OR”用于分配默认值。未定义的值的计算结果为 false,因此将其与值“或”运算会返回该值,并将其分配给变量。

function myNameFunction(theName)
{
   var theName = theName || "John";
   alert("Hello " + theName);
}

myNameFunction("dhruv")  // alerts "Hello dhruv"
myNameFunction()   // alerts "Hello John"
于 2013-08-26T06:38:05.830 回答
0

它用于给定一个默认值,并且符号称为 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 答案。

于 2013-08-26T06:43:09.103 回答