關(guān)于恒等于(===)和非恒等于(!==)
更新時(shí)間:2007年08月20日 16:35:29 作者:
在看Ext的源代碼的時(shí),遇到"==="和"!=="的寫法,一時(shí)不解,就在群里資訊了下,才知道它們各自表示的含義。
呵呵,看來有網(wǎng)絡(luò)還真是方便:)
引用
·恒等于(===):檢查兩個(gè)操作數(shù)是否一樣,也就是檢查沒有進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的操作數(shù)的值是否相等。
·非恒等于(!==):檢查兩個(gè)操作數(shù)的值在沒進(jìn)行數(shù)據(jù)轉(zhuǎn)換前是否不一樣。
以下為討論聊天記錄節(jié)選:
楓巖 09:24:01
if(index !== -1){
...
}
表示什么意思?有誰知道?
路上行人 09:26:32
===恒等于..
路上行人 09:26:41
!==不恒等于..
楓巖 09:33:58
呵呵,根據(jù)路上行人說的“恒等于”搜索了下:
3、使用恒等于和非恒等于操作符(===和!===)
1)嚴(yán)格比較兩個(gè)變量的值是否相等,不會做任何轉(zhuǎn)換的工作,如 2==="2"是不成立的,返回false
楓巖 09:34:13
<script type="text/javascript">
<!--
alert(2=="2");
alert(2==="2");
alert(2!=="2");
//-->
</script>
楓巖 09:36:32
嘿嘿,這個(gè)詳細(xì)點(diǎn):
·恒等于(===):檢查兩個(gè)操作數(shù)是否一樣,也就是檢查沒有進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的操作數(shù)的值是否相等。
·非恒等于(!==):檢查兩個(gè)操作數(shù)的值在沒進(jìn)行數(shù)據(jù)轉(zhuǎn)換前是否不一樣。
路上行人 09:39:41
if (index!==1)是什么意思...楓巖??
楓巖 09:43:04
index!==1
相當(dāng)于:
!(index===1)
楓巖 09:43:10
應(yīng)該是這樣的
楓巖 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" 的比較還要求數(shù)據(jù)類型一樣
楓巖 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
==應(yīng)該是把兩個(gè)數(shù)都轉(zhuǎn)為CHAR然后比較值
===是先比較類型是否相同
楓巖 09:54:42
測試了下,確實(shí)如此
<script type="text/javascript">
<!--
var o1 = {a:"a"};
var o2 = o1.toString();
alert(o1==o2);
alert(o1===o2);
//-->
</script>
呵呵,看來有網(wǎng)絡(luò)還真是方便:)
引用
·恒等于(===):檢查兩個(gè)操作數(shù)是否一樣,也就是檢查沒有進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的操作數(shù)的值是否相等。
·非恒等于(!==):檢查兩個(gè)操作數(shù)的值在沒進(jìn)行數(shù)據(jù)轉(zhuǎn)換前是否不一樣。
以下為討論聊天記錄節(jié)選:
楓巖 09:24:01
if(index !== -1){
...
}
表示什么意思?有誰知道?
路上行人 09:26:32
===恒等于..
路上行人 09:26:41
!==不恒等于..
楓巖 09:33:58
呵呵,根據(jù)路上行人說的“恒等于”搜索了下:
3、使用恒等于和非恒等于操作符(===和!===)
1)嚴(yán)格比較兩個(gè)變量的值是否相等,不會做任何轉(zhuǎn)換的工作,如 2==="2"是不成立的,返回false
楓巖 09:34:13
<script type="text/javascript">
<!--
alert(2=="2");
alert(2==="2");
alert(2!=="2");
//-->
</script>
楓巖 09:36:32
嘿嘿,這個(gè)詳細(xì)點(diǎn):
·恒等于(===):檢查兩個(gè)操作數(shù)是否一樣,也就是檢查沒有進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的操作數(shù)的值是否相等。
·非恒等于(!==):檢查兩個(gè)操作數(shù)的值在沒進(jìn)行數(shù)據(jù)轉(zhuǎn)換前是否不一樣。
路上行人 09:39:41
if (index!==1)是什么意思...楓巖??
楓巖 09:43:04
index!==1
相當(dāng)于:
!(index===1)
楓巖 09:43:10
應(yīng)該是這樣的
楓巖 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" 的比較還要求數(shù)據(jù)類型一樣
楓巖 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
==應(yīng)該是把兩個(gè)數(shù)都轉(zhuǎn)為CHAR然后比較值
===是先比較類型是否相同
楓巖 09:54:42
測試了下,確實(shí)如此
<script type="text/javascript">
<!--
var o1 = {a:"a"};
var o2 = o1.toString();
alert(o1==o2);
alert(o1===o2);
//-->
</script>
相關(guān)文章
從數(shù)組中隨機(jī)取x條不重復(fù)數(shù)據(jù)的JS代碼
這篇文章主要介紹了從數(shù)組中隨機(jī)取x條不重復(fù)數(shù)據(jù)的JS代碼,有需要的朋友可以參考一下2013-12-12Array.prototype.slice.apply的使用方法
arguments在JavaScript語法中是函數(shù)特有的一個(gè)對象屬性(Arguments對象),用來引用調(diào)用該函數(shù)時(shí)傳遞的實(shí)際參數(shù)。2010-03-03JS構(gòu)造一個(gè)html文本內(nèi)容成文件流形式發(fā)送到后臺
本文通過實(shí)例代碼給大家介紹了JS構(gòu)造一個(gè)html文本內(nèi)容成文件流形式發(fā)送到后臺的相關(guān)資料,需要的朋友可以參考下2018-07-07Bootstrap進(jìn)度條學(xué)習(xí)使用
這篇文章主要為大家詳細(xì)介紹了Bootstrap進(jìn)度條的學(xué)習(xí)使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02