Array.prototype.str = 'world' var myArray = [1,2,10,30,34] myArray.name = '数组' for (const key in myArray) { console.log(key); } //迭代的是属性key,不是值。 //结果 0 1 2 3 4 name sayHello str
for in 应用于对象中
1 2 3 4 5 6 7 8 9
Object.prototype.sayHello = function(){ console.log('hello'); } Object.prototype.str = 'world' var myObject = {name:'dd',age:12} for (const index in myObject) { console.log(index); } //结果 name age sayHello str 首先输出的是对象的属性名,再是对象原型中的属性和方法
hasOwnProperty方法
如果不想让其输出原型中的属性和方法,可以使用 hasOwnProperty方法进行过滤
1 2 3 4 5 6 7 8 9 10 11
Object.prototype.sayHello = function(){ console.log('hello'); } Object.prototype.str = 'world' var myObject = {name:'dd',age:12} for (const index in myObject) { if (myObject.hasOwnProperty(index)) { console.log(index); } } //结果 name age