||的含义在javascript参数中

时间:2013-01-22 18:37:01

标签: javascript jquery

  

可能重复:
  What does “options = options || {}” mean in Javascript?

||是什么意思在第二个论点?

   var obj = this;
   var settings = $.extend({
       param: 'defaultValue'
   }, options || {});

如果有人知道如何在这里或谷歌中搜索该字符(“|”)也会很好!谢谢

5 个答案:

答案 0 :(得分:9)

这将是合乎逻辑的OR。该语句将返回它找到的第一个真值y值。

在这种情况下,如果options为null(或任何其他不是真值的值),它将评估为false。然后||将返回空对象。

答案 1 :(得分:1)

这是某种回退值或默认值。因此,如果对象为null或false,则使用第二个值。

答案 2 :(得分:1)

更重要的是,在这种情况下,如果未定义选项,则将空对象{​​{1}}作为参数传递。它是逻辑OR运算符的副作用用例。更具体地说,它使用短路。例如,在下面的例子中

{}

如果a || b 为真,则b永远不会执行,但如果a为假,则a将被执行。因此,在您已经显示的示例中,如果未定义b因此为false,则options将被执行并因此作为参数传递。

答案 3 :(得分:0)

|| =或

与比较运算符一样。

答案 4 :(得分:0)

|| =“或”。例如:

alert(false || false || false || "I'm valid!"); // alerts "I'm valid"

在您的问题中,上面的示例演示了该函数需要一个对象来获取它的选项。在这种情况下,如果局部变量“options”不可用,则只传递一个空对象。之后,在被调用的函数中,它可能在该新对象中设置默认值。