JS 如何判断数组和判断对象
一、判断数组
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
属性是否出现在某个对象的原型链上)