繁体   English   中英

|| 是什么意思在 JavaScript 中?

[英]What is the meaning of || in javascript?

我正在从这里查看这些代码行:

    if (callback)
        callback(sig || graph);

我从未在 javascript 方法调用中看到垂直的“或”条。 他们的意思是什么? 他们是否传递了“true”参数(即 sig 或 graph)? 他们传递定义的参数吗? 我以前从未见过这种语法。

这是 JS(和大多数其他语言)中的逻辑 OR 运算符。 在 11.11 的规范中定义 如规范中所述,将首先评估任一侧的表达式,并且逻辑 OR 是从左到右关联的 请注意,操作数的计算遵循第 9.2 节中的标准ToBoolean 语义,因此[null, undefined, 0, '']都算作假。

与大多数语言不同,JS 返回左操作数,如果它为真,则返回右操作数否则。 这种行为之前已经在许多 SO 问题中讨论过,但值得注意的是,大多数语言只是简单地返回 true 或 false。 此行为通常用于为其他未定义的变量提供默认值

逻辑 OR 运算符 ( || )是一个运算符,它根据第一个操作数是否为真返回其第一个或第二个操作数。 “真实”值意味着除0undefinednull""false之外的任何值。

此运算符使用短路,这意味着如果第一个表达式为真,则不计算第二个表达式并立即返回第一个操作数。 这类似于逻辑与运算符 ( && ) ,其作用相反:如果第一个操作数为假,则返回它,否则返回第二个表达式。

它通过评估为真的任何一个,或者如果两者都为真则通过sig

它的意思是“或”( http://www.w3schools.com/js/js_comparisons.asp )所以如果(sig OR图)

小心你可以使用它“短路”你的代码。 例子 :

If (foo || foo2)

如果 foo 为真,那么 JavaScript 甚至根本不会测试 foo2,它只是跳过它。

双管(||)在JS中代表OR。 简单来说,要么 this 要么 that 是True 它需要任何一方为真才能获得True结果。

例如:

无功x = 8;

var y = 'c';

x >= 8 || y === 'a'

双管的左侧返回True ,右侧是False 因此,结果为True

运算符 || 是指或。

如果 sig 或 graph 为真或非空变量,回调函数将收到一个真参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM