js中检测数据类型

typeof 运算符: 可以检测到数据的基本类型,无法检测出对象对的具体类型(reg,数组,对象)

instanceof (检测一个实例是不是属于某个类)

被检测的实例 instanceof  实例   属于返回true   不属于返回false

constructor

Object.prototype.toString.call()

typeof 判断任何类型都是一个字符串表示,所以出现两个或两个以上的typeof 结果都是string

in 检测某个属性是否属于某个对象(attr in object),无论是私有属性还是共有 存在返回true

hasOwnproperty 用来检测某个属性是否为某对象的“私有属性”,这个方法只能检测私有属性(object.hasOwnproperty(attr))


检测某属性是否为该对象的“公有属性” hasPubProperty

function hasPubProperty(obj,attr){

//保证该属性是该对象的属性并且不是私有属性

    return (attr in obj)&&!obj.hasOwnProperty(attr)

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容