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的版本实现执行不同的代码
May 11 Javascript
jquery文字上下滚动的实现方法
Mar 22 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
Aug 07 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 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
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
GRID拖拽行的实例代码
2013/07/18 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
实例讲解React 组件生命周期
2020/07/08 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Python中协程用法代码详解
2018/02/10 Python
python3实现字符串操作的实例代码
2019/04/16 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
台湾良兴购物网:EcLife
2019/12/01 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
建筑工地质量标语
2014/06/12 职场文书
验房委托书
2014/08/30 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
PyTorch中permute的使用方法
2022/04/26 Python