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)
}
````