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 相关文章推荐
javascript Excel操作知识点
Apr 24 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
Aug 17 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
微信小程序 解决swiper不显示图片的方法
Jan 04 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
Nov 16 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
Nov 28 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
?算你??的 PHP 程式大小
2006/12/06 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
JS实现购物车特效
2017/02/02 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
园林设计专业毕业生求职信
2014/03/23 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
2014年科技工作总结
2014/11/26 职场文书
继承权公证书范本
2015/01/23 职场文书
售票员岗位职责
2015/02/15 职场文书
护士旷工检讨书
2015/08/15 职场文书
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
Python 数据科学 Matplotlib图库详解
2021/07/07 Python