gpt4 book ai didi

Javascript的按位运算符优化?

转载 作者:行者123 更新时间:2023-12-02 17:42:24 25 4
gpt4 key购买 nike

Javascript(以及其他语言)不会计算:

  • 这里的右侧:imTrue || imFalse
  • 这里的右侧:imFalse && imTrue
    等等...

但是这些规则是否也适用于*按位*运算? (找不到任何mdn信息)

例如

  • 1|1(这里会评估右侧吗?)
  • 0&1(这里会计算右侧吗?)

最佳答案

您显示的逻辑运算符的右侧未计算,因为它们是 short circuit operators .

按位运算符不存在这样的东西(是的,它们不仅仅是 bool 运算符,它们是按位运算符,这完全改变了问题)。

一个简单的演示:

0 & (function(){ return console.log('evaluated'),1 })();

短路运算符的主要原因不是性能,而是避免此类评估中错误的能力:

if (a && a.pretty) ...

进行按位运算时很难需要短路保护。

另请注意,JavaScript 的弱类型使得当您不需要右侧时很难进行评估。 Luaan 给出了一个很好的例子:1|2

关于Javascript的按位运算符优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22089483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com