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


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 相关文章推荐
浅析JS中document对象的一些重要属性
Mar 06 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
Bootstrap表单布局
Jul 19 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
微信小程序 登录的简单实现
Apr 19 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
Mar 05 Javascript
angular 实时监听input框value值的变化触发函数方法
Aug 31 Javascript
详解 微信小程序开发框架(MINA)
May 17 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
layui导出所有数据的例子
Sep 10 Javascript
微信小程序实现多选框功能的实例代码
Jun 24 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 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
php读取数据库信息的几种方法
2008/05/24 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
分享php分页的功能模块
2015/06/16 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
用js编写留言板
2020/03/17 Javascript
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
用Python中的字典来处理索引统计的方法
2015/05/05 Python
详解python之简单主机批量管理工具
2017/01/27 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
Python OpenCV获取视频的方法
2018/02/28 Python
python 调用钉钉机器人的方法
2019/02/20 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
.net面试题
2015/12/22 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
跳蚤市场口号
2014/06/13 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
2019新员工心得体会
2019/06/25 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫