JS中的比較問題

2021-10-03 17:44:44 字數 1688 閱讀 7069

​ 在使用==時,如果左右兩邊的型別不同,就會進行轉換,然後再比較值。在使用===時,直接比較左右兩邊的型別和值,如果型別不同,結果直接為false。

number()轉換為數字,string()轉換為字串,boolean轉換為布林值。

//number轉string

string(0

)//'0'

string(1

)//'1'

//number轉boolean

boolean(0

)//false

boolean(1

)//true

//轉為number型別

number

('0'

)//0

number

('a'

)//nan

number

('\t'

)//0

//轉為boolean型別

boolean

('0'

)//true

boolean(''

)//false

boolean

('/tr'

)//true

//轉為number型別

number

(true

)//1

number

(false

)//0

//轉為string型別

string

(true

)//'true'

string

(fasel)

//'false'

number

(null

)//0

string

(null

)//'null'

boolean

(null

)//false

number

(undefined)

//nan

string

(undefined)

//'undefined'

boolean

(undefined)

//false

0

==''

//true0==

'0'//true2==

true

//false2==

false

//false

false

=='false'

//false

false

==''

//true

false

== undefined //false

false

==null

//false

null

== undefined //true

'\t\r\n'==0

//true

==[]//false

==!//true

==//false

0.1+

0.2!=

0.3//true

js中的比較規範

這個規範規定 1 x和y都不為number型別,且x與y的資料型別相同 2 如果x undefined,返回 true。3 如果x null,返回 true。4 如果x的型別為string,並且x與y的長度及編碼相同,返回true,否則返回false。5 如果x的型別為boolean,並且x和y同為...

js中的日期比較

js中如果想要比較兩個時間的大小。例如我們的時間格式為 2010 10 01 19 08 09 我們可能最初的想法就是直接把兩個時間做差,但是直接做差會得到乙個nan的東西,那麼什麼是nan呢?nan not a number 出現這個數值比較少見,以至於我們可以不理它。當運算無法返回正確的數值時,...

JS中 與 的比較

1.1 相同的型別 值相等,就相等。2 型別不同 null與undefined相等 數字與字串 字串轉換為數字時相等,就相等。物件與數字,物件與字串 採用valueof 或tostring 將物件轉化為原始型別的值,進行比較。其他的組合都是不相等的。2.1 兩個值的型別不同,則不相等。2 數字 只有...