JS基礎-JS數值型別
阿新 • • 發佈:2020-12-12
嗨~我是前端小M~~~
----數值型別
- 每個值都必須屬於某一種資料型別
- 分類:
- 簡單資料型別(基本資料型別--->簡單值) 儲存在棧上 ES5: undefinder, null ,boolean ,string ,number ;ES6: symbol
- 複雜資料型別(引用資料型別--->複雜值) 儲存在堆上 object
console.log(typeof **) 檢視資料的數值型別;任何資料型別都可以轉為 boolean --->true / false
- 函式沒有明確返回值
- 訪問物件不存在的屬性
2)null
- ECMA認為 undefinder是從null衍生而來的,如果不進行精確對比則相等
3)boolean ---->(true / false) ==(1/0)
會返回boolean 的情況:
- 單、雙引號的空字串''/"",字串模板``
- 0
- NaN
- false
- nall
- undefinder
4)number
整數 、小數(浮點數),負數
5)NaN
非數 本來要返回數值的操作未返回數值
- console.logo(typeof NaN)---> number
- 涉及NaN的計算返回值都是NaN -->5+桌子=?--->NaN
- NaN 不與任何值相等,包括它自己 console.log(NaN==NaN);--->false
- isNaN() 判斷一個值是否是非數,傳入非數返回true ,傳入數字返回false
1.隱式轉換:
1)進行比較時:
string-->number eg:console.log("5">4); -->true
2) 進行判斷時:
條件值-->boolean eg: if(1) { console.log(111);} -->111 1-->true if(0) { console.log(111);} -->false 0-->false
3)計算
string-->number console.log ("2"*5)-->10 string-->NaN console.log (5-"abc")-->NaN string-->0 boolean-->number console.log (5-true)-->4 true - 1; false - 0; undefined-->NaN console.log (5-undefined)-->NaN symbol-->NaN console.log (5-symbol)-->NaN
2.顯示轉換
1)parseInt() 將string轉換為number,從左到右依次轉換,直到轉到非數為止(小數點不要)
2)parseFloat()將string轉換為浮點數,規則同parseInt ()
3) Number整體轉換,字串中有非數,則轉換為非數
console.log("123" -0);//123 將string快速變聲number: -0
console.log(123+“ ”;// '123' 將number快速轉換為string:+“ ”
console.log("abc") -->string 取反-- console.log(!"abc")-->false取反兩次 console.log(!!"abc")--> true--string