javascript - 对象值中的两条垂直线在 JavaScript 中意味着什么?

标签 javascript operators

Possible Duplicate:
What does the || operator do?

也许有人可以提供更好的代码片段,但是 || 能做什么呢?是什么意思?:

var time =  $(el).data('start') || new Date();

or吗?运算符,如果是这样,一个变量可以有两个不同的值有何意义?

最佳答案

这是一个OR 运算符。您需要了解的是:

  • 非 bool 值在逻辑运算符中使用时会转换为 bool 值。转换为 false 的值称为“falsy”,转换为 true 的值称为“truthy”。虚假值包括 0undefinednull 等。查看更多Truthy and Falsy: When All is Not Equal in JavaScript .

  • OR 运算符短路:它不断计算表达式,直到找到true,然后停止。

所以,var time = $(el).data('start') || new Date(); 表示“将 time 设置为 el 元素的 start 数据,或者,如果这是假的,请使用当前时间”。

关于javascript - 对象值中的两条垂直线在 JavaScript 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463025/

相关文章:

javascript - 当 child 被过滤掉时,如何让 parent 不显示?

python - 为什么求幂从右到左?

python - 在处理 numpy 数组时,运算符 "numpy.dot()"、 "* "和 "@"之间有什么区别?

javascript - Oauth 登录弹出窗口未在 ie 中关闭

javascript - 将 Ruby 查询转换为 javascript?

javascript - 表单数据未发布到 $.ajax url

javascript - IE错误-2147024882

java - - ->- - Java 中的运算符

operators - Unicode字符的文档在哪里,例如 "»",对于Raku?

javascript - 如何在过滤器中使用数组中的值来减少重复代码