一、JS中判断基本数据类型时,一般使用typeof。
var a,b="",c=null;
console.log(typeof a,typeof b,typeof c,typeof d); //undefined,string,object,undefined
二、JS中判断是Array还是Object类型方法
最快最简单的方法:
function isArray(obj){
if(Array.isArray){
return Array.isArray(obj);
}else{
return Object.protype.toString.call(obj)==="[object Array]";
}
}
方法一:
用instanceof 操作符来判断
var a=new Array();
var b=new Object();
console.log(a instanceof Array); //true
console.log(b instanceof Objcet); //true
方法二:
用Array方法(ES5)
var a=new Array();
var b=new Objcet();
console.log(Array.isArray(a)); //true
console.log(Array.isArray(b)) //false
方法三:
通过Object.prototype.toString调用(注意:Object大小写,[ ]里用小写)
var a=new Array();
function Foo(e){
if(Object.prototype.toString.call(e)==='[object Array]'){
console.log("我是数组");
}
else{
console.log("我不是数组");
}
}
Foo(a);
//输出:我是数组
方法四:
constructor方法
var a=new Array();
var b=new Object
console.log(a.constructor==Array); //true
console.log(b.constructor==Object); //true