关于javascript:for-in-和-hasOwnProperty的区别

for in能够遍历所有可枚举属性以及原型上的属性


var createObj = function(){
    this.name = "大表哥";
}
var obj1 = new createObj();
createObj.prototype.age = 10;

for(var p in obj1){
    console.log('key:',p);
    console.log('value:',obj1[p]);
}

输入后果

key: name
value: 大表哥
key: age
value: 10

hasOwnProperty()不会从原型上寻找属性

var resName = obj1.hasOwnProperty("name");
console.log("name",resName);

var resAge = obj1.hasOwnProperty("age");
console.log("age",resAge);

输入后果

name true
age false

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理