日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

你真的了解JavaScript的比较运算符(==,!=,===,!===,=,=,,)吗?

發布時間:2025/7/14 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你真的了解JavaScript的比较运算符(==,!=,===,!===,=,=,,)吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有下面一段代碼,你嘗試閱讀一下,然后寫下你認為的輸出。

?

var test1 = '----------==----------\r\n'; test1 += '{}==\'\' \t\t:' + ({} == '') + '\r\n'; test1 += '{}==0 \t\t:' + ({} == 0) + '\r\n'; test1 += '{}==null \t\t:' + ({} == null) + '\r\n'; test1 += '{}==undefined \t:' + ({} == undefined) + '\r\n'; test1 += '{}==\'\\t\' \t\t:' + ({} == '\t') + '\r\n'; test1 += '\'\'==0 \t\t:' + ('' == 0) + '\r\n'; test1 += '\'\'==null \t\t:' + ('' == null) + '\r\n'; test1 += '\'\'==undefined \t:' + ('' == undefined) + '\r\n'; test1 += '\'\'==\'\\t\' \t\t:' + ('' == '\t') + '\r\n'; test1 += '0==null \t\t:' + (0 == null) + '\r\n'; test1 += '0==undefined \t:' + (0 == undefined) + '\r\n'; test1 += '0==\'\\t\' \t\t:' + (0 == '\t') + '\r\n'; test1 += 'null==undefined \t:' + (null == undefined) + '\r\n'; test1 += 'null==\'\\t\' \t\t:' + (null == '\t') + '\r\n'; test1 += 'undefined==\'\\t\' \t:' + (undefined == '\t') + '\r\n'; alert(test1);var test2 = '---------->=----------\r\n'; test2 += '{}>=\'\' \t\t:' + ({} >= '') + '\r\n'; test2 += '{}>=0 \t\t:' + ({} >= 0) + '\r\n'; test2 += '{}>=null \t\t:' + ({} >= null) + '\r\n'; test2 += '{}>=undefined \t:' + ({} >= undefined) + '\r\n'; test2 += '{}>=\'\\t\' \t\t:' + ({} >= '\t') + '\r\n'; test2 += '\'\'>=0 \t\t:' + ('' >= 0) + '\r\n'; test2 += '\'\'>=null \t\t:' + ('' >= null) + '\r\n'; test2 += '\'\'>=undefined \t:' + ('' >= undefined) + '\r\n'; test2 += '\'\'>=\'\\t\' \t\t:' + ('' >= '\t') + '\r\n'; test2 += '0>=null \t\t:' + (0 >= null) + '\r\n'; test2 += '0>=undefined \t:' + (0 >= undefined) + '\r\n'; test2 += '0>=\'\\t\' \t\t:' + (0 >= '\t') + '\r\n'; test2 += 'null>=undefined \t:' + (null >= undefined) + '\r\n'; test2 += 'null>=\'\\t\' \t\t:' + (null >= '\t') + '\r\n'; test2 += 'undefined>=\'\\t\' \t:' + (undefined >= '\t') + '\r\n'; test2 += '---------->-----------\r\n' test2 += '{}>\'\' \t\t:' + ({} > '') + '\r\n'; test2 += '{}>0 \t\t:' + ({} > 0) + '\r\n'; test2 += '{}>null \t\t:' + ({} > null) + '\r\n'; test2 += '{}>undefined \t:' + ({} > undefined) + '\r\n'; test2 += '{}>\'\\t\' \t\t:' + ({} > '\t') + '\r\n'; test2 += '\'\'>0 \t\t:' + ('' > 0) + '\r\n'; test2 += '\'\'>null \t\t:' + ('' > null) + '\r\n'; test2 += '\'\'>undefined \t:' + ('' > undefined) + '\r\n'; test2 += '\'\'>\'\\t\' \t\t:' + ('' > '\t') + '\r\n'; test2 += '0>null \t\t:' + (0 > null) + '\r\n'; test2 += '0>undefined \t:' + (0 > undefined) + '\r\n'; test2 += '0>\'\\t\' \t\t:' + (0 > '\t') + '\r\n'; test2 += 'null>undefined \t:' + (null > undefined) + '\r\n'; test2 += 'null>\'\\t\' \t\t:' + (null > '\t') + '\r\n'; test2 += 'undefined>\'\\t\' \t:' + (undefined > '\t') + '\r\n'; alert(test2);var test3 = '----------<=----------\r\n'; test3 += '{}<=\'\' \t\t:' + ({} <= '') + '\r\n'; test3 += '{}<=0 \t\t:' + ({} <= 0) + '\r\n'; test3 += '{}<=null \t\t:' + ({} <= null) + '\r\n'; test3 += '{}<=undefined \t:' + ({} <= undefined) + '\r\n'; test3 += '{}<=\'\\t\' \t\t:' + ({} <= '\t') + '\r\n'; test3 += '\'\'<=0 \t\t:' + ('' <= 0) + '\r\n'; test3 += '\'\'<=null \t\t:' + ('' <= null) + '\r\n'; test3 += '\'\'<=undefined \t:' + ('' <= undefined) + '\r\n'; test3 += '\'\'<=\'\\t\' \t\t:' + ('' <= '\t') + '\r\n'; test3 += '0<=null \t\t:' + (0 <= null) + '\r\n'; test3 += '0<=undefined \t:' + (0 <= undefined) + '\r\n'; test3 += '0<=\'\\t\' \t\t:' + (0 <= '\t') + '\r\n'; test3 += 'null<=undefined \t:' + (null <= undefined) + '\r\n'; test3 += 'null<=\'\\t\' \t\t:' + (null <= '\t') + '\r\n'; test3 += 'undefined<=\'\\t\' \t:' + (undefined <= '\t') + '\r\n'; test3 += '----------<-----------\r\n' test3 += '{}<\'\' \t\t:' + ({} < '') + '\r\n'; test3 += '{}<0 \t\t:' + ({} < 0) + '\r\n'; test3 += '{}<null \t\t:' + ({} < null) + '\r\n'; test3 += '{}<undefined \t:' + ({} < undefined) + '\r\n'; test3 += '{}<\'\\t\' \t\t:' + ({} < '\t') + '\r\n'; test3 += '\'\'<0 \t\t:' + ('' < 0) + '\r\n'; test3 += '\'\'<null \t\t:' + ('' < null) + '\r\n'; test3 += '\'\'<undefined \t:' + ('' < undefined) + '\r\n'; test3 += '\'\'<\'\\t\' \t\t:' + ('' < '\t') + '\r\n'; test3 += '0<null \t\t:' + (0 < null) + '\r\n'; test3 += '0<undefined \t:' + (0 < undefined) + '\r\n'; test3 += '0<\'\\t\' \t\t:' + (0 < '\t') + '\r\n'; test3 += 'null<undefined \t:' + (null < undefined) + '\r\n'; test3 += 'null<\'\\t\' \t\t:' + (null < '\t') + '\r\n'; test3 += 'undefined<\'\\t\' \t:' + (undefined < '\t') + '\r\n'; alert(test3);

?

我們看一下運行的結果。

這里的三個true的有點讓人摸不著頭腦,另外,還有0=='\r\n'也是為true的。

也許你會講,用絕對判斷(===,!==)就可以了,沒錯,在判斷是否相等的情況下,絕對判斷是可以的,但下面的結果會更讓你吃驚。

這里面需要動動腦筋思考一下的,有些是正確的,但結合上面的等價判斷有些確實讓人莫名其妙。

比如說:

1.

''==null 是 false

''>null 和 ''<null也是false

可是''>=null 和''<=null居然是true,完全不符合邏輯。

2.

0和null 的對比和上面是一樣的情況

3.

null==undefined是true

可是null>=undefined及null<=undefined居然都是false

4.

null和'\t'的對比和1,2是一樣的情況

?

可見>=和<=的邏輯和我們對其它語言的理解不一樣,具體原因本人尚不清楚。



轉載于:https://www.cnblogs.com/amoxoo/archive/2010/12/15/doyouknowjscomareoperator.html

總結

以上是生活随笔為你收集整理的你真的了解JavaScript的比较运算符(==,!=,===,!===,=,=,,)吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。