typeof 检测一个变量是否是基本数据类型

var a="aaa";
var b=true;
var c=111
var d;
var e=null;
var f=new Object();

console.log(typeof a) //string
console.log(typeof b) //boolean
console.log(typeof c) //number
console.log(typeof d) //undefined
console.log(typeof e) //object
console.log(typeof f) //object

当一个变量是null 时,返回类型为object

*instanceof 检测一个变量是否是引用数据类型

当我们想具体检测一个变量具体是什么类型的对象时,使用instanceof操作符

var a=[1,2]
var b=new Object()
var c=/^\d{3}-\d{3}$/;

console.log(a instanceof Array) //true 
console.log(b instanceof Object) //true 
console.log(c instanceof RegExp) //true 

即判断一个变量是否为Object或其他

如果使用instanceof去检测基本类型的变量时,始终返回false,因为基本类型不是一个对象。

另外数组检测还可以用 Array.isArray()方法
如:

var arr=[1,2]

if(Array.isArray(arr)){
   //执行操作
}

BerylLee
21 声望1 粉丝