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

时间:2021-05-25

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

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

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

3、使用恒等于和非恒等于操作符(===和!===)
1)严格比较两个变量的值是否相等,不会做任何转换的工作,如2==="2"是不成立的,返回false
枫岩09:34:13
<scripttype="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
<scripttype="text/javascript">
<!--
vara=(2!=="2");
varb=!(2==="2");
alert(a===b);
//-->
</script>
枫岩09:44:40
2==="2"的比较还要求数据类型一样
枫岩09:44:45
才返回真
Z09:49:30
===是这样的
Z09:49:44
Ifthetwovalueshavedifferenttypes,theyarenotidentical.
Z09:51:52
==应该是把两个数都转为CHAR然后比较值
===是先比较类型是否相同
枫岩09:54:42
测试了下,确实如此
<scripttype="text/javascript">
<!--
varo1={a:"a"};
varo2=o1.toString();
alert(o1==o2);
alert(o1===o2);
//-->
</script>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章