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


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判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
jquery toolbar与网页浮动工具条具体实现代码
Jan 12 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
原生js的RSA和AES加密解密算法
Oct 08 Javascript
backbone简介_动力节点Java学院整理
Jul 14 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 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脚本的10个技巧(8)
2006/10/09 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
基于D3.js实现时钟效果
2018/07/17 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
关于读书的演讲稿400字
2014/08/27 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
离职信范文
2015/06/23 职场文书
简爱读书笔记
2015/06/26 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android