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]"