总结:JavaScript中两个值进行比较需要遵循的原则
2016-12-21 20:03
211 查看
总结:JavaScript中两个值进行比较需要遵循的原则
一个值判断真假 Boolean(),遵循 0,"",NAN,null,undefined为假(false),其余都为真(true)。 两个值进行比较的时候(指的是两个等号"==",例如:val1==val2),等号两边都是不同的数据类型的时候才需要转化。
对象 == 对象 ,永远不相等;
对象 == 布尔, 先将对象转化为字符串(调用[].toString()方法),再将字符串 转化为数字(调用Number()方法),将布尔也转化为数字 (调用Number()方法),最后数字和数字之间进行比较;
对象 == 字符串,先将对象转化为字符串(调用[].toString()方法),然后字符串和字符串之间进行比较;
对象 == 数字,先将对象转化为字符串(调用[].toString()方法),再将字符串 转化为数字(调用Number()方法),然后,数字和数字之间进行比较;
布尔 == 字符串,布尔和字符串分别转化为数字,再进行比较;
布尔 == 数字,布尔转化为数字,然后进行比较;
字符串 == 数字,字符串转化为数字,再进行比较;
null == undefined;—>true
null或者undefined,和其他数据类型相比较的时候,永远不相等。
eg: 注意:true转化为数字是1,false转化为数字是0 [].toString(); --->"" []==[]; --->false {}=={}; --->false (function(){}==function(){}); --->false 解析:对象和对象相比永远不相等 []==false; --->true 解析:[]--toString()-->""--Boolean()-->false==false-->true ![]==false; --->true 解析:![]--Boolean()-->true--取反-->false==false-->true
相关文章推荐
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- 需求变更管理的应对和需要遵循的六大原则
- javascript比较两个日期值
- javascript 比较两个字符串
- JavaScript比较两个数组相等
- JavaScript 对两个select 元素进行操作,移动其中的选项
- C#中两个日期类型的变量如何进行比较
- StrComp函数:对两个指定字符串进行比较
- 交集:通过使用默认的相等比较器对值进行比较生成两个序列的交集
- 需求变更管理的应对和需要遵循的六大原则
- 两个比较有用的Javascript工具函数
- 总结两个Javascript的哈稀对象的一些编程技巧
- 总结两个Javascript的哈稀对象的一些编程技巧
- 总结两个Javascript的哈稀对象的一些编程技巧
- 用javascript比较两个日期的大小
- 需求变更管理的应对和需要遵循的六大原则[zz]
- 金万钠说:“上面写的都是我想到的自己觉得比较重要的一些地方,还有很多细节是需要在实践中慢慢摸索和总结的。”
- 两个javascript比较 :来自网上
- javascript 两个字符串比较函数
- 两个比较有用的Javascript工具函数代码