角色||的作用是什么在JavaScript中的变量声明?

时间:2013-08-26 06:37:05

标签: javascript

例如

var myVar = myVar || {};

var myVar = myVar || [];

这句话是什么意思?

3 个答案:

答案 0 :(得分:2)

如果myVar评估为false,它会为myVar提供默认值。

myVar为:

时,可能会发生这种情况
  • 0
  • 空字符串
  • 未定义
  • 的NaN

答案 1 :(得分:0)

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

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

myNameFunction("dhruv")  // alerts "Hello dhruv"
myNameFunction()   // alerts "Hello John"

答案 2 :(得分: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 answer。