前言--我们可能会经常用到typeof去判断某一个变量的类型。
typeof一般测试基本类型(Undefined、Null、Boolean、Number、String),对引用类型一律返回object(Function引用类型返回Function)
typeof对于区分数组和对象是没有用的。
方法一:
Array.isArray()。。。
var a = [1,2,4];
var b= {"name":"lsx"};
console.log(Array.isArray(a)) //true
console.log(Array.isArray(b)) //false
方法二:
constructor属性。。。
var a =[2,4,3];
var b= {"name":"lsx"};
console.log(a.constructor == Array)//true
console.log(b.constructor == Object)//true
方法三:
instanceOf运算符。左边是子对象(待测试对象),右边是父构造函数。
凡是用new()构造函数创建出的对象,都称之为构造函数的实例。
var obj = {"name":"lsx"};
var arr = [1,2,3];
console.log((obj instanceof Array));//false
console.log((arr instanceof Array));//true
未完待续……