hasOwnProperty()与for in的区别

1 for in可以获取object的所有属性,包括自定义属性以及原型链属性。

Object.prototype.show=23;
Object.prototype.all=function(){};
var obj={};

for (var attr in obj) {
    //show:23
    //all:function (){}
    console.log(attr+":"+obj[attr]);
}

2 hasOwnProperty()只能获取自定义属性,无法获取原型链属性。

"str".hasOwnProperty("split");                //false
String.property.hasOwnProperty("split");      //true

 

posted @ 2016-08-23 16:35  晴晴加油  阅读(526)  评论(0编辑  收藏  举报