在使用==
時,如果左右兩邊的型別不同,就會進行轉換,然後再比較值。在使用===
時,直接比較左右兩邊的型別和值,如果型別不同,結果直接為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 數字 只有...