首页 >web前端 >js教程 >在 JavaScript 中使用逻辑运算符时会得到什么结果?

在 JavaScript 中使用逻辑运算符时会得到什么结果?

Barbara Streisand
Barbara Streisand原创
2024-11-22 10:02:16937浏览

What Do You Get Back When You Use Logical Operators in JavaScript?

浏览 JavaScript 中逻辑运算符的非布尔返回

虽然问题集中在特定逻辑表达式中缺少布尔返回,它强调了 JavaScript 中关于逻辑运算符 || 的行为的更广泛的概念。 (OR) 和 && (AND)。

在 JavaScript 中, ||和 && 是短路运算符,一旦遇到完全确定的逻辑值就会提前终止。这意味着如果第一个操作数足以确定结果,则跳过第二个操作数的计算。

例如,在表达式 X || 中Y,如果 X 计算结果为真值(任何未明确为假的值:真、对象、字符串等),则立即返回 X,从而无需对 Y 进行计算。

类似地,在 X && Y 中,如果 X 计算结果为 false,则计算停止并返回 X,再次绕过 Y。

当表达式计算结果为 a 时,就会出现奇怪的情况虚假值。在 JavaScript 1.2 之前,该运算符将返回布尔值 false。然而,从 JavaScript 1.2 开始,返回实际计算的值。

因此,在提供的表达式中:

  1. (obj.fn && obj.fn()) ||对象._ || (obj._ = {}):如果 obj.fn 存在并且计算结果为真值,则表达式将返回 obj.fn() 的结果。否则,如果已定义,它将返回 obj._;如果 obj._ 未定义,它将创建一个新对象并将其分配给 obj._。
  2. obj && obj._:这只会导致 obj._ 如果obj 为真,否则返回 obj。

以上是在 JavaScript 中使用逻辑运算符时会得到什么结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn