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上的文档-这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦您有足够的评论,您就可以发表评论了。谢谢。我会记住的。