首先我们要先复习一下,什么是基本类型,什么是引用类型。
基本类型:指简单的数据段,包括5种:
Undefined、String、Number、Null、Boolean
引用类型:可能由多个值构成的对象:
Object、Array、RegExp、Function、Date、
还有三种特殊的引用类型:包装类型:String、Number、Boolean
判断基本类型可以用typeof()
例子:
var a = 'aa';
typeof(a); //string
var b = 1;
typeof(b); //number
var c;
typeof(c); //undefined
typeof(null); //object
var d = true;
typeof(d); //boolean
但是判断引用类型就不行了
var f = [1,2,3]
typeof(f); //object 只能检测为对象
所以判断引用类型要用instanceof
var a = function(){return 'hello';}
a instanceof Function;//true
a instanceof Object; //true
//基本上都属于Object,所以都是true
包装类型判断
var b = 'hello';
b instanceof String;//false
var c = new String('hello');
c instanceof String;//true
上面出现的原因是因为包装类型的实例才是一个对象。