1.null與undefined比較
-
undefined與null的區別,兩個都表示什么都沒有
-
null == undefined:成立,他們的值都是空 -
null === undefined:不成立,他們的值相等但是資料型別不同
<script>
/*JS總共有六種資料型別,其中五種基本資料型別,一種復雜資料型別
*(1)null與undefined有什么區別
* null == undefined 成立
* null === undefined 不成立
*/
//1.null與undefined的區別:需要記憶
console.log ( null == undefined );//true 他們的值都是空
console.log ( null === undefined );//false 他們的值相等 但是資料型別不同
</script>
2.NaN與isNaN
-
1.NaN:Not a Number 不是一個數字
-
(1)NaN是number資料型別中一個特殊的數值,是數學計算錯誤得到的一個結果
-
例如:
'張三' - 100,在數學上這是一種錯誤的計算,它的結果就是NaN
-
-
(2)NaN與任何數字都不等,包含它本身
-
(3)NaN與任何數字計算得到的都是NaN
-
-
2.isNaN(資料):檢測一個資料是不是NaN 得到的結果是布爾型別
-
例如:
isNaN(NaN),結果為true -
例如:
isNaN(123),結果為false,表示123不是NaN
-
-
3.number型別浮點數(小數)精度丟失問題
-
(1)小數在進行數學計算時,會有一定的誤差,這是計算機本身的bug,不僅是js語言,其他語言也有這個問題
-
(2)解決方案:不要讓兩個小數比較大小,這種情況一般不會影響正常開發
-
<script>
/*NaN: not a number 不是一個數字
* 1.NaN是number資料型別中一個特殊的數值,是數學計算錯誤得到的一個結果
* 2.NaN與任何數字都不相等,包括它的本身
* 3.NaN與任何數字計算得到的都是NaN
isNaN(資料):判斷一個資料是不是NaN,結果為布爾型別 true:是 false:不是
*/
//1.NaN:not a number 不是一個數字
//NaN是number資料型別中一個特殊的數值,是數學計算錯誤得到的一個結果
let num = '張三' - 100;//當某個運算式無法計算(計算錯誤時),會得到NaN
console.log ( num ); //NaN
console.log ( typeof NaN ); //number
//2.NaN與任何數字都不等,包含它本身
console.log ( NaN == 0 ); //false
console.log ( NaN == NaN ); //false
//3.NaN與任何數字計算得到的都是NaN
console.log ( NaN + 100 ); //NaN
//4.isNaN(資料):檢測一個資料是不是NaN 得到的結果是布爾型別
console.log ( isNaN ( NaN ) ); //true
console.log ( isNaN ( 123 ) ); //false
//如果檢測的資料不是number型別,js編譯器會嘗試著將這個資料轉化為number型別,然后再判斷
//這種資料型別轉換稱為隱式轉換:下一小節講解
console.log ( isNaN ( "abc" ) ); //true
//5.(課后了解即可)number浮點數(小數)精度丟失
//小數在進行數學計算時,會有一定的誤差,這是計算機本身的bug,不僅是js語言,其他語言也有這個問題
//解決方案:不要讓兩個小數比較大小,這種情況一般不會影響正常開發
console.log ( 0.1 + 0.2 ); //0.300000000000004
console.log ( 0.1 + 0.2 == 0.3 ); //false
console.log ( 0.4 + 0.5 ); //0.9
console.log ( 1.1 - 0.2 ); //0.9000000000000001
</script>
3.字串比較
-
1.字串比較規則是按照字母的順序挨個進行比較,與字串長度無關
-
2.字串比較區分大小寫
<script>
/*
1.字串比較規則,按照字母的順序,挨個比較
2.字串的比較與長度無關
3.字串的比較區分大小寫
*/
// 字串的比較是挨個比較對應順序位置的字母,與長度無關
console.log('abc' > 'b'); // false,a比d小,所以abc比d小
// 字串的比較區分大小寫,小寫大于大寫(與ASCII碼表對應)
console.log('a' > 'A'); // true,a對應ASCII碼表為97,A為65
</script>
上一章:JavaScript入門第五章(運算子與運算式下)
下一章:JavaScript入門第七章(資料型別轉換 )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/291217.html
標籤:其他
上一篇:JavaScript個人總結
