typeof检测一个变量是否为基本数据类型vara="aaa";varb=true;varc=111vard;vare=null;varf=newObject();console.log(typeofa)//stringconsole.log(typeofb)//booleanconsole.log(typeofc)//numberconsole.log(typeofd)//undefinedconsole.log(typeofe)//objectconsole.log(typeoff)//object当一个变量为null时,返回类型为object*instanceof检测一个变量是否为引用数据类型当我们要具体检测一个变量是什么类型的对象时,使用instanceof操作符vara=[1,2]varb=newObject()varc=/^\d{3}-\d{3}$/;console.log(ainstanceofArray)//trueconsole.log(binstanceofObject)//trueconsole.log(cinstanceofRegExp)//true表示判断一个变量是Object还是其他使用instanceof检测的变量基本类型,总是返回false,因为基本类型不是对象。另外,数组检测也可以使用Array.isArray()方法,如:vararr=[1,2]if(Array.isArray(arr)){//执行操作}
