一、判断数组
1.使用 toString 方式 (返回[object constructorName]的字符串格式)


2.使用Array.isArray(arr) 来判断值是否为数组

3.使用 instanceof 方式 (用来检测构造函数的prototype 属性是否出现在某个对象的原型链上)

4.使用 constructor 方式 (constructor是prototype对象的一个属性,指向的是prototype属性所在的构造函数,可以判断数据类型)


5.使用 __proto__ 方式(意思为实例的__proto__属性,是否指向构造函数的prototype属性)

6.使用Object.getPrototypeOf 方式 (返回指定对象的原型,内部[[Prototype]]属性的值)

7.使用 isPrototypeOf 方式 (用于测试一个对象是否存在于另一个对象的原型链上)

二、判断对象
1.toString 方式(返回[object constructorName]的字符串格式)


2.使用 constructor 来判断;(constructor是prototype对象的一个属性,指向的是prototype属性所在的构造函数,可以判断数据类型)

3.使用typeof 来判断(返回对应的数据类型,数组不行)

4.使用instanceof关键字来判断(用来检测构造函数的prototype 属性是否出现在某个对象的原型链上)

















