码迷,mamicode.com
首页 > Web开发 > 详细

js的hasOwnProperty

时间:2015-09-16 12:11:04      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

我们在js中可能经常会用到for in来遍历对象中的属性,当然for in中得到的属性,只能是可枚举的属性,至于什么是可枚举的属性,百度去吧,哈哈!
for in的时候,它会把对象的属性(包括原型的属性)遍历一遍
例如:
有这么一段代码:
var array = [];
array.push(1);
array.push(2);
array.push(3);
for(var i in array) {
console.log(i+":"+array[i]);
}
此时会输出什么呢?当然是0:1 1:2 2:3
但是如果在for in之前加上Array.prototype.say = "hello";
再次运行会输出什么呢?
0:1 1:2 2:3 say:hello
看到了吧,这个时候,它会输出原型的属性
在很多时候,我们不需要遍历它原型的属性,还有一个原因就是,我们现在用到的对象,我们不能保证,其他开发人员,有没有,在它的原型上加一些属性呢?所以呢,我们就过滤一下我们对象的属性吧,这个时候就用到了hasOwnProperty方法,如下:
for(var i in array){
if(array.hasOwnProperty(i)) {
console.log(i+":"+array[i]);
}
}
再想想现在会输出什么呢?当然是0:1 1:2 2:3啦,哈哈,效果达到了

 

js的hasOwnProperty

标签:

原文地址:http://www.cnblogs.com/yanwen2015/p/4812851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!