gpt4 book ai didi

javascript - 为什么 Javascript 的 OR 返回 true/false 以外的值?

转载 作者:行者123 更新时间:2023-12-02 23:37:44 26 4
gpt4 key购买 nike

我看到这个结构是为了获取浏览器视口(viewport)宽度:

function () { return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; }

我了解所涉及的浏览器怪癖。我不明白为什么 || 返回该值。所以我尝试了这个 alert(undefined || 0 || 3); ,果然,它发出了 3 警报。我觉得这很奇怪,因为我期望 truefalse。谁能解释一下这是怎么回事?

最佳答案

JavaScript 运算符 || 被定义为如果计算结果为真值,则返回左值,否则返回右值,而不是返回 true 本身。这就是规范中的定义。

我知道有时这会很烦人,您可能会意外地保留对您不想保留的内容的引用,但它也允许您的示例使用方便的技巧。凡事都有优点和缺点。

关于javascript - 为什么 Javascript 的 OR 返回 true/false 以外的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966430/

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