为什么在 JavaScript 中,"if ('0' == false)" 等于 false,而在"if(0)" 语句中却返回 true?
javascriptweb developmentfront end technology
让我们逐一查看条件 −
if(‘0’ == false)
它遵循以下规则 −
如果 Type(y) 为布尔值,则返回比较 x == ToNumber(y) 的结果
== 执行类型强制转换。这意味着需要进行显式类型转换以匹配两个操作数的类型。左侧的"0"转换为数字 0。在比较这两个数字时,由于 0 等于 0,因此结果为 true。在这种情况下,这不起作用,因为它不暗示"0"字符串的真/假性质,因为它在比较之前被强制转换。
if(0)
这检查字符串是否为 null 或空,而不是是否为零。永远记住,非空字符串为真。这里不使用类型强制转换,因为可以根据字符串本身的优点将其评估为真或假。
相关文章
JavaScript 中的按位右移运算符 (>>) 是什么?
JavaScript 中 $(document).ready() 的等价函数是什么?
如果我们在 JavaScript 中重新声明一个变量会发生什么?
在 JavaScript 中声明和初始化变量有什么区别?
JavaScript 中的按位非运算符 (~) 是什么?
JavaScript 中的按位左移运算符 (<<) 是什么?
如何检查 JavaScript 中是否存在变量?
在 JavaScript 中声明变量有什么用?
JavaScript 中的按位与运算符 (&) 是什么?
JavaScript 中 new Boolean() 的用途是什么?
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.w3schools.cn/javascript/
打印
下一节:如何更改 JavaScript 警报按钮的样式? ❯❮ 上一节:如何在 JavaScript 中打印当前年份?