Javascript中的相等与不等运算


Posted in Javascript onApril 25, 2010

转换的规则如下:
如果其中一个操作数的类型为 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

var obj = {};
alert(10 == obj); // false

完全相同的比较 === 和不完全相等 !==
完全相同的比较用来比较不进行转换是否相等,例如:

var a = "100";
var b = 100;

alert(a == b); // true
alert(a === b); // false

== 比较将返回真,因为 “100” 首先转换为数字 100, 然后与数字 100 进行比较,结果相等。
=== 比较将返回假,因为字符串 ”100” 不经过转换的话,与数字 100 不相等。

!== 用于比较在不转换的情况下,是否不相等。

alert(a != b); // false
alert(a !== b); // true

第一种情况将返回假,因为转换后是相等的。第二种情况将返回真,因为不经过转换的话,他们一个是字符串,一个是数字,是不相等的。

Javascript 相关文章推荐
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 Javascript
ext jquery 简单比较
Apr 07 Javascript
基于jquery的修改当前TAB显示标题的代码
Dec 11 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
Jan 26 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
js获取所有checkbox的值的简单实例
May 30 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 Javascript
js实现盒子移动动画效果
Aug 09 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 #Javascript
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 #Javascript
javascript之学会吝啬 精简代码
Apr 25 #Javascript
一些相见恨晚的 JavaScript 技巧
Apr 25 #Javascript
Javascript 中的 && 和 || 使用小结
Apr 25 #Javascript
js 禁用只读文本框获得焦点时的退格键
Apr 25 #Javascript
js 内存释放问题
Apr 25 #Javascript
You might like
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
Python入门篇之字典
2014/10/17 Python
Python File readlines() 使用方法
2018/03/19 Python
python 识别图片中的文字信息方法
2018/05/10 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
python生成器与迭代器详解
2019/01/01 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
学生安全责任书范本
2014/07/24 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
观后感的写法
2015/06/19 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏