javascript - || 的正确用法是什么在 JavaScript 中

标签 javascript

在下面的代码中,因为 s 为 null d = "test" 但如果 s = "hello"那么 d = "hello"。

这是否正确?正确的使用方法是什么 ||

var s = null;

var d = s || "test";

alert(d);

最佳答案

||是“或”;理解这里发生的事情有点棘手

var a=false;
var b=true;
result=a||b

将使“结​​果”为真(因为 b 为真)。发生的情况是:

  • “a”已被选中 - 它为 false
  • 'b' 之后被检查(因为尚未获得“true”结果,并且一个“true”结果足以使整个 || 运算符为 true) - 其值将分配给左侧侧面

如果你有

   var a=true;
   var b="test";
   result=a||b

结果将产生 true;因为“||”的逻辑不需要检查其他值

var a=null;
var b="test";
result=a||b;

a 将首先被检查 - 它为 null,会转换为“false”。 b 是“test”,它是非空的,并转换为“true”。因此 b 的将被分配。

是的,这是使用 || 的正确方法;您使用的功能也称为短路评估(因为它会尽早停止评估 bool 表达式)

关于javascript - || 的正确用法是什么在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426821/

相关文章:

javascript - 为什么直接声明函数时不能.bind(this)

javascript - 表单提交执行 JavaScript 最佳实践?

javascript - 使用 `fetch` 或 `request` 发送多部分/表单数据的正确方法

javascript - 使用 Javascript FileReader 处理大文件

javascript - 使用 html 和 JavaScript 向游戏添加计分器

javascript - 在不同投影的 basemap 之间切换时如何重新投影矢量图层

javascript - 通过javascript或jquery减少php中的图像文件大小

javascript - 向服务器发送加密数据时 JavaScript 中的 XSS

javascript - 必须返回 React 有效的 ReactComponent。您可能返回了未定义、数组或其他一些无效对象

javascript - 单击另一个视频的播放按钮时如何暂停视频