2

可能重复:
“options = options || 是什么意思?{}”在 Javascript 中是什么意思?

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

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

如果有人知道如何在这里或在谷歌中搜索该字符(“|”),那就太好了!谢谢

4

5 回答 5

9

那将是逻辑或。该语句将返回它找到的第一个真值。

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

于 2013-01-22T18:38:31.977 回答
1

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

于 2013-01-22T18:38:13.500 回答
1

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

a || b

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

于 2013-01-22T18:41:05.277 回答
0

|| = 或

与比较运算符一样。

于 2013-01-22T18:38:09.417 回答
0

||=“或”。例子:

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

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

于 2013-01-22T18:41:57.117 回答