一、js資料類型
1、正常的劃分(六種劃分):數字、字元串、布爾值、對象、undefined、unll。
2、八種劃分(詳細劃分):數字、字元串、布爾值、對象(狹義的對象、數組、函數)、undefined、unll。
三種分類:基本資料類型:字元串、數字、布爾值
複合資料類型:對象
特殊資料類型:null、undefined
二、資料類型轉換
1、顯示類型轉換(調用轉換方法,主動去轉換。)
(1)Number(首字母一定得大寫)
var foo = 'lian';
console.log(Number(foo));
輸出結果:Number會強制轉換成數字類型,由于’lian’是非數字的字元串,強制轉換成數字是NaN。
var foo = '123';
console.log(Number(foo));
輸出結果:強制轉換成數字123;
(2)String (首字母同樣大寫)
var foo = 123;
console.log(String(foo));
輸出結果:String強制把其他資料類型轉換成字元串類型,這裡把數字123,轉換成字元串的123。(在浏覽器種數字類型的顯示是藍色的,字元串的數字是黑色的,讀者從這裡就能判斷出資料類型)。
(3)Boolean(首字母同樣大寫)
var a = '';
console.log( Boolean(a) );
隻要字元串有内容就轉成true,空字元串轉成false,空格算内容。
var a = 0;
console.log( Boolean(a) );
隻要數字不為0,就轉成true,0會轉成false
2、隐式類型轉換(被動轉換,由JS程式自動進行轉換的)
(1) ‘+’ ‘-’ ‘/’ ‘*’
var a = '1';
var b = 2;
console.log(a - b); //'1' -> 1 -> 1-2 = 1
console.log(a + b); //2 -> '2' -> 12
'+'号進行隐式類型轉換時,會把數字類型轉換成字元類型,然後把兩邊進行拼接。
‘-’ ‘*’ '/'進行轉換時就是普通的隐式轉換,把字元類型轉成平時所了解的數字類型進行運算。
(2)’==’
console.log(2 == '2');
輸出結果:強制把字元串的2轉成數字類型的2。
(3)’+’ '-'這裡的加和減和上面的加和減不是同一個含義,這裡代表數值和負數值。
var a = '2';
console.log(+a);
輸出結果:在字元串a前面加上數值‘+’,強制轉換成藍色的數字2。
歡迎指正!!!會繼續進行完善更新!!!