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


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获取提交的字符串的字节数
Feb 09 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
简单分析javascript中的函数
Sep 10 Javascript
getElementById().innerHTML与getElementById().value的区别
Oct 27 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
实战node静态文件服务器的示例代码
Mar 08 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Oct 12 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
原生JavaScript实现五子棋游戏
Nov 09 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
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
异步加载script的代码
2011/01/12 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
vue权限管理系统的实现代码
2019/01/17 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
python实现端口转发器的方法
2015/03/13 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
python逆向入门教程
2018/01/15 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
python调试神器PySnooper的使用
2019/07/03 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
詹天佑教学反思
2014/04/30 职场文书
工会工作个人总结
2015/03/03 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python