javascript参数中| |的含义

javascript参数中| |的含义,javascript,jquery,Javascript,Jquery,可能重复: 第二个论点中的| |是什么意思 var obj = this; var settings = $.extend({ param: 'defaultValue' }, options || {}); 如果有人知道如何在这里或谷歌搜索该字符(“|”)也会很好!谢谢你 在比较运算符中 这是某种回退值或默认值。因此,如果对象为null或false,则使用第二个值。这将是逻辑or。语句将返回它找到的第一个truth-y值 在这种情况下,如果options为n

可能重复:

第二个论点中的| |是什么意思

   var obj = this;
   var settings = $.extend({
       param: 'defaultValue'
   }, options || {});
如果有人知道如何在这里或谷歌搜索该字符(“|”)也会很好!谢谢你


在比较运算符中

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

这将是逻辑or。语句将返回它找到的第一个truth-y值


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

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

a || b
如果
a
为true,则b永远不会执行,但如果
a
为false,则执行
b
。因此,在您展示的示例中,如果未定义
选项,因此为false,则执行
{}
,并将其作为参数传递。

|
=“OR”。例如:

alert(false | | | | | | false | | | |“我有效!”)//提醒“我有效”


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

要回答问题的最后一部分,您需要搜索“javascript逻辑或赋值语句”或类似内容。下面是。这不是逻辑或,是吗?逻辑OR的结果不返回布尔值,而不是其中一个值吗?这更像是一个空合并。@StefanH不,它并不总是返回布尔值,它返回它的一个操作数。@StefanH调用它,或者是因为它是在输入布尔值时所做的。@StefanH-奇怪的是,不。请查看MDN上的文档-这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦您有足够的评论,您就可以发表评论了。谢谢。我会记住的。