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


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 快捷键设置实现代码
Mar 13 Javascript
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
js动态创建、删除表格示例代码
Aug 07 Javascript
jquery foreach使用示例
Sep 12 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
May 12 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
js实现无限瀑布流实例方法
Sep 16 Javascript
vuex入门最详细整理
Mar 04 Javascript
JS数组的高级使用方法示例小结
Mar 14 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实现encode64编码类实例
2015/03/24 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
完美实现bootstrap分页查询
2015/12/09 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
JavaScript中的闭包
2016/02/24 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
详解Python当中的字符串和编码
2015/04/25 Python
python实现中文输出的两种方法
2015/05/09 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python collections模块使用方法详解
2019/08/28 Python
Python for循环与getitem的关系详解
2020/01/02 Python
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
六一儿童节活动策划方案
2014/01/27 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python