js number 丢失精度 js里==和===有什么区别?
js里==和===有什么区别?
区别在于进行双等号比较时:首先检查两个操作数的数据类型,如果它们相同,则进行===比较。如果它们不同,它们愿意为您进行类型转换,然后在将它们转换为相同类型后进行比较。进行===比较时,如果它们不同,则直接为false。
operator1===operator2,operator1===operator2
比较过程:
双等号==:
(1)如果两个值类型相同,则比较三个等号(==)](2)如果两个值类型不同,则可能相等,所以在比较中,类型转换应该按照以下规则进行:
1)如果一个为null,另一个未定义,则等于
2)如果一个为字符串,另一个为数值,将字符串转换为字符串并将其更改为数值,然后比较
]三等号==:
](1)如果类型不同,则不能相等
(2)如果两个值都是数值且值相同,则它们相等;如果其中至少有一个值为Nan,则它们不相等。(要判断一个值是否为Nan,只能用isnan()来判断)
(3)如果两个值都是字符串,并且每个位置的字符都相同,则它们相等,否则它们不相等。
(4)如果两个值都是true或false,则它们相等
(5)如果两个值引用同一个对象或函数,则它们相等,否则它们不相等
(6)如果两个值都是null或未定义,则它们相等
~]==比较转换为同一类型的值,以查看值是否相等
有关例如,“1”==1 True
==如果类型不同,则结果不相等
例如,“1”==1 Not True
详细差异:
1。对于字符串、数字等基本类型,==和===是不同的
1)不同类型之间比较,==比较“转换为同一类型的值”看“值”是否相等,==如果类型不同,结果不相等
2)同一类型比较,直接“值”比较,两个结果是相同的
2。对于数组、对象等级别类型,==和===没有区别
比较指针地址
3。基本类型和高级类型,==和===不同
1)对于==,将高级类型转换为基本类型并比较值
2)由于类型不同,==结果为false
js number 丢失精度 js一型和二型的区别 js的number方法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。