据我所知,在JavaScript!应该规范化一个布尔值,将其从某个其他类型转换为true或false.这意味着"0"转换为布尔值true.另一方面,如果我将它与false进行比较,事实证明它实际上是假的(因为比较的结果是真的).我在这里错过了什么规则.我在IE和Opera中测试了它.
SLa*_*aks 10
该==运营商检查松动的平等,它有无关感实性.
具体来说,它会将操作数转换为数字,然后比较数字.
包含数字的字符串会转换为它们包含的数字; 布尔值转换为0和1.如果已定义,则
通过调用来转换对象valueOf.
因此,以下所有都是如此:
"1" == 1"0" == false"1" == true"2" != true"2" != false({ valueOf:function() { return 2; } }) == 2({ valueOf:function() { return 1; } }) == true| 归档时间: |
|
| 查看次数: |
1878 次 |
| 最近记录: |