基本(值)类型
String:任意字符串
Number:任意数字
boolean:true/false
undefined:undefined
null:null
对象(引用)类型
object:任意对象
function:一种特别的对象(可以执行)
Array:一种特别的对象(数值下标,内部数据是有序的)
判断类型的几种方式
1. typeof( 返回数值类型的字符串表达式)
可以判断undefined/数值/字符串/布尔值/function
不能判断null与Object ,不能判断object与array
- 数值判断:
a=3;
console.log(typeof a==='number' ) //true
- 字符串判断:
a="Tom"
console.log(typeof a==='string') //true
- 布尔值判断:
a=true;
console.log(typeof a==='boolean') //true
- undefined判断:
var a
console.log(a,typeof a,typeof a==='undefined',a===undefined)
//undefined 'undefined' true true
- function判断:
var b1={
b2:[1,'abc',console.log],
b3:function (){
console.log('b3');
return function (){
return 'hello';
}
}
};
console.log(typeof b1.b3==='function') //true
console.log(typeof b1.b2[2]==='function' ) //true
2. instanceof (判断对象的具体类型)
Object、Array、Function
var b1={
b2:[1,'abc',console.log],
b3:function (){
console.log('b3');
return function (){
return 'hello';
}
}
};
console.log(b1 instanceof Object) ; //true
console.log(b1 instanceof Array); //false
console.log(b1 instanceof Function) ; //true
- === undefined/null 这两个类型只有一个值
可以判断undefined,null