javascript代码实例教程-JavaScript中的比较操作符

发布时间:2019-02-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-JavaScript中的比较操作符脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

用了一段时间的JavaScript,总是感觉这门语言非常不严谨,其中一个很难完全搞懂的地方就是比较操作符。这几天重翻JavaScript -- The DefinITive Guid,做个摘要,加深理解。


JavaScript中的类型

null:一个类型只有一个值【虽然tyPEof(null)返回的是’object’,但它的类型仍然不是object】

undefined:一个类型只有一个值

number:数字

string:字符串

boolean:布尔值,有true和false两个值

object:key-value的集合,比如Array,String,Boolean,Date等

前五种被称为PRimitive值。

A === B

如果A和B类型不同,则为false

否则,如果A和B都是null,则为true

否则,如果A和B都是undefined,则为true

否则,如果A和B都是boolean,则按照boolean进行比较,

否则,如果A和B至少有一个是NaN,则为false,

否则,如果A和B都是number,则按照number方式比较,

+0=== -0,

+Infinity === +Infinity,

-infinity === -Infinity,

+Infinity !== -Infinity

否则,如果A和B都是string,则按照整数数组的方式进行比较,

否则,A和B一定都是object,如果A和B指向同一个对象,则为true,否则为false,

A == B

如果A和B类型相同,按照A === B方式比较

否则,如果A和B一个是null,一个是undefined,则为true,

否则,如果A和B一个是number,一个是string,则把string转换为number,重新比较,

否则,如果某一个是true,则把true转换为1,重新比较,

否则,如果某一个是false,则把false转换为0,重新比较,

否则,如果A和B一个是object,另一个是number或string,把object转化为primitive,重新比较。

否则,返回false。


< > <= >=

以上运算符只能用于number和number、string和string之间的比较。

A < B

1.如果A和B有object,首先把object转换为primitive,再重新比较。

2.如果A和B都是string,则进行string比较。

3.如果A和B有任一个不是string,则把A和B转换成number,重新比较。

4.如果A和B都是number,则按照number的方式比较,并且注意以下:

+0和-0是相等的

Infinity大于任意非Infinity的number

-Infinity小于任意非-Infinity的number

如果操作符中有NaN,则总是返回false

另外,A <= B 等价于 !(A > B),与A==B和A===B的结果无关。

其它

object转化为primitive的规则,有些混乱,见JavaScript-- The Definitive Guide 3.8.3

计算string op number时,如果op为==或===或<或<=或>或>=,总是把string转换为number

计算string + number是,把number转换为string。


觉得可用,就经常来吧! 脚本宝典 欢迎评论哦!&nbsp;js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-JavaScript中的比较操作符全部内容,希望文章能够帮你解决javascript代码实例教程-JavaScript中的比较操作符所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。