- 检测属性
in运算符:如果对象的自有属性或继承属性中包含这个属性则返回true
var o={x:1};
"x" in o;//true
"y" in o;//false
"toString" in o;true
hansOwnProperty():检测属性是否是对象的自有属性
var o={x:1}
o.hansOwnProperty("x");//true
o.hansOwnProperty("y");//false
o.hansOwnProperty("toString");//false
!==可以区分undefined和null
- 枚举属性
for/in循环可以遍历对象中可枚举的属性:自有属性和继承属性
for(p in o){
if(!o.hanOwnProperty(p)) continue;//跳过继承属性
}
for(p in o){
if(typeof o[p] ==="function") continue;//跳过方法
}
- 得到对象属性名称
Object.keys()//返回一个数组,由对象中可枚举的属性名称组成,
Object.getOwnPropertyNames()//返回对象中所有自有属性的名称