1. 程式人生 > 實用技巧 >JS基礎-JS數值型別

JS基礎-JS數值型別

嗨~我是前端小M~~~

----數值型別

  • 每個值都必須屬於某一種資料型別
  • 分類:
  1. 簡單資料型別(基本資料型別--->簡單值) 儲存在棧上 ES5: undefinder, null ,boolean ,string ,number ;ES6: symbol
  2. 複雜資料型別(引用資料型別--->複雜值) 儲存在堆上 object

----資料型別

console.log(typeof **) 檢視資料的數值型別;任何資料型別都可以轉為 boolean --->true / false

1)undefinder

返回 undefinder 值的情況:

  1. 訪問沒有賦值的變數
  2. 任何被賦值undefinder的變數
  3. 函式沒有明確返回值
  4. 訪問物件不存在的屬性

2)null

  1. ECMA認為 undefinder是從null衍生而來的,如果不進行精確對比則相等

3)boolean ---->(true / false) ==(1/0)

會返回boolean 的情況:

  1. 單、雙引號的空字串''/"",字串模板``
  2. 0
  3. NaN
  4. false
  5. nall
  6. undefinder

4)number

整數 、小數(浮點數),負數

5)NaN

非數 本來要返回數值的操作未返回數值

  1. console.logo(typeof NaN)---> number
  2. 涉及NaN的計算返回值都是NaN -->5+桌子=?--->NaN
  3. NaN 不與任何值相等,包括它自己 console.log(NaN==NaN);--->false
  4. 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