js中有5種基本的數據類型(簡單數據類型):Undefined、Null、Boolean、Number 和 String。還有一種複雜數據類型:Object。object本質上是由一組無序的名值對構成。spa
1 typeof操做符指針
通常咱們爲了檢測5種不一樣的數據類型,經常使用typeof操做符。(複雜數據類型用instance of檢測)code
var msg='string';對象
console.log(typeof message) // stringblog
注意:null 和 object 的返回結果都是object 由於null 是一個空對象的指針。字符串
2:Undefined類型string
undefined類型只有一個值即 undefined,在用var申明變量時未對其進行初始化,這個變量會保存特殊的值undefined。console
var msg;
console.log(msg); // undefined
console.log(age); // age is not defined
console.log(typeof msg);// undefined
console.log(typeof age);// undefined
能夠看出未申明的變量typeof也是undefined
3:Null類型table
Null類型只有一個值即null。是一個空對象的指針或引用,因此typeof 會返回 objectclass
var msg=null;
console.log(typeof msg);// object
4:Boolean類型
只有兩個字面量:true false
數據類型 | 轉換爲true的值 | 轉換爲false的值 |
Boolean | true | false |
String | 任何非空字符 | ' '(空字符串) |
Number | 任何非零數值 | 0和NaN |
Object | 任何對象 | null |
Undefined | n/a | undefined |
熟悉以上規則對控制流語句自動執行相應的Boolean轉換很是重要。、
var msg='hellow world';
if(msg){
console.log('value is true'); // value is true
}
5:Number類型
轉換爲數值的三種方式:
Number():能夠轉換任意類型 var msg=Number('hellow world') // NaN
parseInt():專門用來把字符串轉換成數字 var num1=parseInt('2.22'); //2 不能轉換小數點後面的
parseFloat():專門用來把字符串轉換成數字 var num1=parseInt('2.22') //2.22 能夠轉換小數點後面的
a:NaN 非數值 NaN不等於任何數 包括NaN自己