js的hasownproperty使用示例

  例如:

  有这么一段代码:

  

复制代码 代码如下:

  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啦。