关于恒等于(===)和非恒等于(!==)


Posted in Javascript onAugust 20, 2007

在看Ext的源代码的时,遇到"==="和"!=="的写法,一时不解,就在群里资讯了下,才知道它们各自表示的含义。
呵呵,看来有网络还真是方便:)
引用 
·恒等于(===):检查两个操作数是否一样,也就是检查没有进行数据类型转换的操作数的值是否相等。
·非恒等于(!==):检查两个操作数的值在没进行数据转换前是否不一样。
以下为讨论聊天记录节选:

枫岩 09:24:01
if(index !== -1){
...
}

表示什么意思?有谁知道? 
路上行人 09:26:32
===恒等于.. 
路上行人 09:26:41
!==不恒等于.. 
枫岩 09:33:58
呵呵,根据路上行人说的“恒等于”搜索了下:

3、使用恒等于和非恒等于操作符(===和!===)
1)严格比较两个变量的值是否相等,不会做任何转换的工作,如 2==="2"是不成立的,返回false 
枫岩 09:34:13
<script type="text/javascript">
<!--
alert(2=="2");
alert(2==="2");
alert(2!=="2");
//-->
</script> 
枫岩 09:36:32
嘿嘿,这个详细点:
·恒等于(===):检查两个操作数是否一样,也就是检查没有进行数据类型转换的操作数的值是否相等。
·非恒等于(!==):检查两个操作数的值在没进行数据转换前是否不一样。
路上行人 09:39:41
if (index!==1)是什么意思...枫岩?? 
枫岩 09:43:04
index!==1
相当于:
!(index===1) 
枫岩 09:43:10
应该是这样的 
枫岩 09:43:18
我试试 
枫岩 09:44:07
<script type="text/javascript">
<!--
var a = (2!=="2");
var b = !(2==="2");
alert(a === b);
//-->
</script> 
枫岩 09:44:40
2==="2" 的比较还要求数据类型一样 
枫岩 09:44:45
才返回真
Z 09:49:30
===是这样的
Z 09:49:44
If the two values have different types, they are not identical.
Z 09:51:52
==应该是把两个数都转为CHAR然后比较值
===是先比较类型是否相同 
枫岩 09:54:42
测试了下,确实如此 
<script type="text/javascript">
<!--
var o1 = {a:"a"};
var o2 = o1.toString();
alert(o1==o2);
alert(o1===o2);
//-->
</script> 

Javascript 相关文章推荐
Javascript 面向对象 对象(Object)
May 13 Javascript
jquery选择器之层级过滤选择器详解
Jan 27 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
JQuery+CSS实现图片上放置按钮的方法
May 29 Javascript
AngularJS+Node.js实现在线聊天室
Aug 28 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
ndm:NPM的桌面GUI应用程序
Oct 15 Javascript
async/await优雅的错误处理方法总结
Jan 30 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
vue中keep-alive、activated的探讨和使用详解
Jul 26 Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 Javascript
图片格式的JavaScript和CSS速查手册
Aug 20 #Javascript
javascript 一个自定义长度的文本自动换行的函数
Aug 19 #Javascript
js类中获取外部函数名的方法
Aug 19 #Javascript
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 #Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 #Javascript
Code: write(s,d) 输出连续字符串
Aug 19 #Javascript
js实现运行代码需要刷新的解决方法
Aug 18 #Javascript
You might like
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
新手简单了解vue
2019/05/29 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python脚本实现集群检测和管理功能
2015/03/06 Python
python显示生日是星期几的方法
2015/05/27 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python 常用的基础函数
2018/07/10 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
大学新生军训感言
2014/02/25 职场文书
农民工讨薪标语
2014/06/26 职场文书
毕业生实习证明
2014/09/19 职场文书
代办出身证明书
2014/10/21 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
销售口号霸气押韵
2015/12/24 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
Python实现照片卡通化
2021/12/06 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js
Linux中各个目录的作用与内容
2022/06/28 Servers