Javascript中的相等与不等运算
JavaScript 运算 相等
2023-06-13 09:14:18 时间
转换的规则如下:
如果其中一个操作数的类型为Boolean,那么,首先将它转换为数字类型,false转换为0,true将转换为1。
如果其中一个操作数的类型是字符串,另外一个为数字类型,那么,将字符串转换为数字进行比较。
如果其中一个操作数的类型是字符串,另外一个为object类型,那么,将调用对象的toString方法之后,比较字符串。
如果其中一个操作数的类型是数字类型,另外一个为object类型,那么,将对象转换为数值后进行数字比较。
以下的规定了一些特殊的比较:
null和undefined是相等的。
null和undefined不会转换为任何其他类型
如果任何一个操作的结果为NaN,那么相等比较返回false,不相等比较返回true。注意,即使两个操作数都为NaN,返回结果一样是false,也就是说,NaN不等于NaN。
如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。
alert(null==undefined);//true
alert(undefined==null);//true
alert(true==1);//true
alert(false==0);//true
alert(true==2);//false
varobj={};
alert(10==obj);//false
完全相同的比较===和不完全相等!==
完全相同的比较用来比较不进行转换是否相等,例如:
vara="100";
varb=100;
alert(a==b);//true
alert(a===b);//false
==比较将返回真,因为“100”首先转换为数字100,然后与数字100进行比较,结果相等。
===比较将返回假,因为字符串”100”不经过转换的话,与数字100不相等。
!==用于比较在不转换的情况下,是否不相等。
alert(a!=b);//false
alert(a!==b);//true
第一种情况将返回假,因为转换后是相等的。第二种情况将返回真,因为不经过转换的话,他们一个是字符串,一个是数字,是不相等的。
如果其中一个操作数的类型为Boolean,那么,首先将它转换为数字类型,false转换为0,true将转换为1。
如果其中一个操作数的类型是字符串,另外一个为数字类型,那么,将字符串转换为数字进行比较。
如果其中一个操作数的类型是字符串,另外一个为object类型,那么,将调用对象的toString方法之后,比较字符串。
如果其中一个操作数的类型是数字类型,另外一个为object类型,那么,将对象转换为数值后进行数字比较。
以下的规定了一些特殊的比较:
null和undefined是相等的。
null和undefined不会转换为任何其他类型
如果任何一个操作的结果为NaN,那么相等比较返回false,不相等比较返回true。注意,即使两个操作数都为NaN,返回结果一样是false,也就是说,NaN不等于NaN。
如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。
alert(null==undefined);//true
alert(undefined==null);//true
alert(true==1);//true
alert(false==0);//true
alert(true==2);//false
varobj={};
alert(10==obj);//false
完全相同的比较===和不完全相等!==
完全相同的比较用来比较不进行转换是否相等,例如:
vara="100";
varb=100;
alert(a==b);//true
alert(a===b);//false
==比较将返回真,因为“100”首先转换为数字100,然后与数字100进行比较,结果相等。
===比较将返回假,因为字符串”100”不经过转换的话,与数字100不相等。
!==用于比较在不转换的情况下,是否不相等。
alert(a!=b);//false
alert(a!==b);//true
第一种情况将返回假,因为转换后是相等的。第二种情况将返回真,因为不经过转换的话,他们一个是字符串,一个是数字,是不相等的。
相关文章
- javascript 高级教程 视频_精通JavaScript
- javascript 基础_JavaScript高级编程
- 【javascript】hasOwnProperty()方法检查对象是否有该属性
- javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
- JavaScript学习总结(十七)——Javascript原型链的原理详解编程语言
- JavaScript学习总结(十六)——Javascript闭包(Closure)详解编程语言
- JavaScript学习总结(九)——Javascript面向(基于)对象编程详解编程语言
- JavaScript学习总结(五)——Javascript中==和===的区别详解编程语言
- javascript await正确写法详解编程语言
- 实现浏览器直接打卡Redis利用javascript实现(浏览器直接打卡redis)
- javascript实现的颜色块滑动的动态效果
- JavaScript中的Screen屏幕对象
- Javascript入门学习第三篇js运算
- javascript读取图片文件的大小
- javascript中利用数组实现的循环队列代码
- JavaScript滚轮事件使用说明
- javascript下string.format函数补充
- 整理一些JavaScript的IE和火狐的兼容性注意事项
- JavaScript中数组的排序、乱序和搜索实现代码
- JavaScript高级程序设计阅读笔记(十六)javascript检测浏览器和操作系统-detect.js
- javascript陷阱一不小心你就中招了(字符运算)
- JavaScript中的字符串操作详解
- 浅析JavaScript中两种类型的全局对象/函数
- 利用noesis.Javascript开源组件.Net中执行javascript脚本
- javascript工厂方式定义对象
- aspcookie中文Javascript取得中文cookie
- JavaScript中伪协议javascript:使用探讨