可能重复:
What does “options = options || {}” mean in Javascript?
||是什么意思在第二个论点?
var obj = this;
var settings = $.extend({
param: 'defaultValue'
}, options || {});
如果有人知道如何在这里或谷歌中搜索该字符(“|”)也会很好!谢谢
答案 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”不可用,则只传递一个空对象。之后,在被调用的函数中,它可能在该新对象中设置默认值。