好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

javascript forin 循环

Javascript中有许多不同的循环语句,其中 for-in 循环是最常见和反复使用的循环语句之一。它可以对对象的属性进行迭代,该属性可以是已经存在的、被删除的或在对象原型链之上的,它在处理对象时非常实用。在本文中,我们将深入了解 for-in 循环用法及其用途。 使用 for-in 的方式很简单,我们只需要定义一个变量来迭代对象中的每一个属性,并结合 break 和 continue 语句或 if 语句来控制循环。下面是一个简单的例子:
 const obj = {
name: "Tom",
age: 20,
sex: "male",
isStudent: true
}
// 用 for-in 循环打印对象属性
for (let key in obj) {
console.log(`${key}: ${obj[key]}`);
}
// 输出结果:
// name: Tom
// age: 20
// sex: male
// isStudent: true 
在这个例子中,我们遍历了一个简单的对象,输出每一个属性和它的值。其中关键字 `key` 代表每一个属性名,`obj[key]`则表示当前属性的值。 值得注意的是,在 for-in 循环中,遍历的属性不仅包括对象自身的属性,还包括其继承的属性。我们知道每一个对象都有原型,这意味着它继承了它的父级属性。因此,在某些情况下,我们可能需要排除继承的属性来避免重复操作。这时,我们可以使用 hasOwnProperty() 方法。
 const obj = {
name: "Tom",
age: 20,
sex: "male",
isStudent: true
}
// 用 for-in 循环打印对象自身的属性
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(`${key}: ${obj[key]}`);
}
}
// 输出结果:
// name: Tom
// age: 20
// sex: male
// isStudent: true 
在这个例子中,我们使用了 `hasOwnProperty()` 方法来检测每个属性是否是对象自身的属性而非继承自原型链上的属性。只有当属性是自身的属性时才会输出属性名和值。 除了遍历对象中的属性,我们还可以遍历数组中的元素。这在处理多维数组时非常有用。
 const arr = ["apple", "banana", "orange", "kiwi"];
// 用 for-in 循环打印数组元素
for (let index in arr) {
console.log(`${index}: ${arr[index]}`);
}
// 输出结果:
// 0: apple
// 1: banana
// 2: orange
// 3: kiwi 
在这个例子中,我们遍历了一个简单的数组,并输出了每一个元素的索引和值。这时 `index` 代表每个元素的索引。 总的来说, for-in 循环是一个非常有用的工具,它可以用于遍历对象或数组中的属性和元素。同时,我们也应注意对象属性的继承和排除继承属性的方式。在实际开发中,它经常用于处理动态数据。即便初学者也能通过简单的代码实例和文档掌握这个循环语句的使用方法。

查看更多关于javascript forin 循环的详细内容...

  阅读:43次