typeof和 instanceof 如何结合使用判断类型和具体对象Array或

A对象 instanceof B对象

instanceof最恰当的解释:判断A对象原型链上 是否有B对象原型 !!!

由于typeof无法判断对象具体是哪种类型,instanceof可以判断A对象原型链上 是否有B对象原型 !!!

注意:typeof要注意了,null和对象返回的字符串都是“object”,做判断的时候要处理特殊情况!

判断对象[]或{} 是对象还是数组的三种方法:

第一种:函数名.constructor 是Array 还是 Object

第二种: A对象  instanceof  Array   如果A对象是{}类型,肯定就是fasle,如果是[]类型,肯定是true;

第三种:利用Object.prototype.toString() 函数的call方法,帮call第一个属性对象返回toString值!

Object.prototype.toString() == Object.prototype.toString.call() //"[object Object]"
Object.prototype.toString.call([]) //输出结果"[object Array]"
Object.prototype.toString.call({}) //输出结果"[object Object]"
Object.prototype.toString.call(123) //输出结果"[object Number]"

猜你喜欢

转载自blog.csdn.net/weixin_43343144/article/details/83990394