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自己