gpt4 book ai didi

javascript - Javascript If 语句的语义是什么

转载 作者:数据小太阳 更新时间:2023-10-29 05:46:05 24 4
gpt4 key购买 nike

我一直认为 if 语句本质上比较它的参数类似于 == true。然而,以下 Firebug 中的实验证实了我最担心的事情——在编写 Javascript 15 年后,我仍然不知道 WTF 是怎么回事:

>>> " " == true
false
>>> if(" ") console.log("wtf")
wtf

我的世界观在这里一团糟。我可以运行一些实验来了解更多信息,但即使那样我也会因为害怕浏览器的怪癖而失眠。这是在某处的规范中吗?它是一致的跨浏览器吗?我会掌握 JavaScript 吗?

最佳答案

“如果两个操作数不是同一类型,JavaScript 会转换操作数,然后进行严格比较。如果其中一个操作数是数字或 bool 值,则将操作数转换为数字;如果其中一个操作数是字符串,则另一个操作数一个被转换为字符串。”

https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Comparison_Operators

所以第一个是这样的:

Number(" ")==Number(true)

第二个是这样计算的:

if(Boolean(" ")==true) console.log("wtf")

关于javascript - Javascript If 语句的语义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1615969/

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