转载于:https://blog.csdn.net/weixin_42423283/article/details/119917971
1,typeof 最常用的方法。用法:typeof(xxx) 缺点:数组,null检测结果不准确。数组的检测结果是"object",null的检测结果也是"object"(原因:null在底层编码时前几位数字时000与”object“的相同)
2,intanceof 用法:xx instanceof Array 检测从xx到基类原型这条原型链上是否存在Array的原型。返回结果是布尔型。
3,constructor 用法:if(xx.__proto__.constructor==Array)
类的原型上有个constructor属性指向所属类本身。
实例有个__proto__属性指向类的原型。
类有个prototype属性指向类的原型。
4,Object.protype.tostring.call() 用法:Object.protype.tostring.call(xx) 结果会输出xx所属的类;
基类上的toString 方法可以把其中this的所属类 以字符串的形式返出来 , 使用call的时候 正好可以把toString中的this指向要检测的参数。