javascript中的for...in循环详解
墨初 Web前端 507阅读
在javascript脚本中,for...in循环是一种遍历对象属性的语法。此语法会遍历对象的所有可枚举数据。
for...in语法如下
for (const property in obj) { if (obj.hasOwnProperty(property)) { // 执行代码 } }
obj:需要遍历的对象
property:当前遍历的对象属性
hasOwnProperty():内置方法,用于检查对象是否有特定的自有属性
for...in示例
示例1:
let arr = ['php','java','html']; for(let index in arr){ console.log(index); // 输出当前的属相 console.log(arr[index]); // 通过属性获取元素值 }
示例2:
// hasOwnProperty() 方法只处理自身的属性 Array.prototype.sayHello = function(){ console.log("Hello") } Array.prototype.str = 'world'; let arr = ['php','java','html']; arr.id = 10; for(let index in arr){ if (arr.hasOwnProperty(index)) { console.log(index); // 输出当前的属相 console.log(arr[index]); // 通过属性获取元素值 } } // 可对上面两个的打印结果 console.log('============================='); for(let index in arr){ console.log(index); console.log(arr[index]); }
示例3
// 这是一个对象的变量 const myObject = { name: 'mochu', age: 25, host:'https://www.73so.com' }; for(let index in myObject){ console.log(index); }
ps:
1、for...in 循环专门遍历对象的属性
2、for...in 也会遍历对象原型号上的可枚举属性
3、hasOwnProperty()方法可以确保for...in只处理自己身的属性