typeof 的取值范围是Number、String、boolean、undefined、object、function
1.typeof : 主要用于判断数据是不是基本数据类型:String、Number、Object、Null、Undefined、boolean , 但是无法判断 null(空),Array(数组)和正则表达式,只是将它们统一归为对象类型!
typeof 返回的结果是字符串,表示数据的类型
var b=true;
console.log(typeof b);//'boolean'
var c="";
console.log(typeof c);//'String'
var d=1;
console.log(typeof d);//'Number'
var e,f=undefined;
console.log(typeof e,typeof f);//'undefined' 'undefined'
var a=null;
console.log(typeof a);//'object'
var obj={};
console.log(typeof obj);//'object'
var arr=[1,2,3];
console.log(typeof arr);//'object'
var fn=function(){
alert("aaa");
}
console.log(typeof fn);//'function
console.log(typeof /\d/)//object
2.instanceof : 主要的目的是用来检测引用类型,判断Array和RegExp,无法准确判断Function
instanceof 返回的是Boolean类型的true与false
console.log([] instanceof Array);//true
console.log({} instanceof Object);//true
console.log(/\d/ instanceof RegExp);//true
console.log(function(){} instanceof Object);//true
console.log(function(){} instanceof Function);//true
instanceof 无法判断基本类型
console.log('' instanceof String);//false
console.log(1 instanceof Number);//false