成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript 中 for、forEach、for...in、for...of 循環的區別和使用

開發 前端
forEach 是 JavaScript 數組對象的一個方法,用于遍歷數組的每個元素,并對每個元素執行指定的回調函數。

JavaScript 中有多種循環語句,包括傳統的 for 循環、forEach 方法、for...in 循環和 for...of 循環。這些循環語句各有特點,適用于不同的場景。下面將分別介紹它們的區別和使用,并給出相應的例子。

1. for 循環

for 循環是 JavaScript 中最常用的循環語句之一,它的基本語法為:

for (初始化; 條件; 遞增或遞減) {
    // 循環體
}
  • 初始化:在循環開始之前執行的代碼,用于初始化循環控制變量。
  • 條件:在每次迭代之前進行條件檢查,如果條件為真,則執行循環體;否則循環終止。
  • 遞增或遞減:在每次迭代之后執行的代碼,用于更新循環控制變量。

示例:

// 使用 for 循環計算數組中所有元素的總和
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < numbers.length; i++) {
    sum += numbers[i];
}
console.log(sum); // 輸出:15

2. forEach 方法

forEach 是 JavaScript 數組對象的一個方法,用于遍歷數組的每個元素,并對每個元素執行指定的回調函數。其基本語法為:

array.forEach(function(currentValue, index, array) {
    // 回調函數
});
  • currentValue:當前迭代的元素值。
  • index:當前迭代的索引。
  • array:原始數組對象。

示例:

// 使用 forEach 方法計算數組中所有元素的總和
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach(function(number) {
    sum += number;
});
console.log(sum); // 輸出:15

3. for...in 循環

for...in 循環用于遍歷對象的可枚舉屬性,并執行指定的代碼塊。其基本語法為:

for (let key in object) {
    // 執行代碼
}
  • key:對象的屬性名。
  • object:被遍歷的對象。

需要注意的是,for...in 循環不僅遍歷對象自身的屬性,還會遍歷繼承的屬性,因此在遍歷對象時,通常需要使用 hasOwnProperty 方法來過濾掉繼承的屬性。

示例:

// 使用 for...in 循環遍歷對象的屬性
let person = {
    name: 'John',
    age: 30,
    gender: 'male'
};
for (let key in person) {
    if (person.hasOwnProperty(key)) {
        console.log(key + ': ' + person[key]);
    }
}
// 輸出:
// name: John
// age: 30
// gender: male

4. for...of 循環

for...of 循環是 ES6 引入的一種遍歷可迭代對象的語法,包括數組、字符串、Set、Map、Generator 對象等。其基本語法為:

for (let element of iterable) {
    // 執行代碼
}
  • element:當前迭代的元素值。
  • iterable:可迭代對象,例如數組、字符串等。

與 for...in 循環不同,for...of 循環只遍歷可迭代對象自身的元素,不會遍歷對象的屬性。

示例:

// 使用 for...of 循環遍歷數組
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (let number of numbers) {
    sum += number;
}
console.log(sum); // 輸出:15

區別和使用場景

  1. for 循環
  • 適用于需要對數組或類數組對象進行精確控制的情況,例如根據索引訪問數組元素、逐個修改數組元素等。
  • 可以使用 break 和 continue 控制循環的流程。
  1. forEach 方法
  • 簡化了對數組的遍歷,代碼更加簡潔易讀。
  • 不能使用 break 和 continue 控制循環的流程。
  1. for...in 循環
  • 適用于遍歷對象的屬性,特別是需要遍歷對象的所有可枚舉屬性的情況。
  • 需要注意過濾掉繼承的屬性。
  1. for...of 循環
  • 適用于遍歷可迭代對象的情況,包括數組、字符串等。
  • 不適用于遍歷對象的屬性,只能遍歷對象的值。

不同的循環語句各有特點,應根據具體的需求和場景選擇合適的循環方式。

責任編輯:武曉燕 來源: 海燕技術棧
相關推薦

2024-09-29 07:00:00

JavaScriptTypeScriptfor...of循環

2024-09-28 10:13:14

2024-08-30 08:43:24

JavaScriptforEachfor循環

2020-08-02 23:20:36

JavaScriptmap()forEach()

2020-12-22 14:11:45

JS forEach()map()

2009-08-28 17:18:55

foreach循環

2022-08-27 14:42:45

Java集合數組

2023-12-19 16:43:01

2023-08-11 17:13:39

JavaScrip

2016-12-06 10:30:39

JavaScriptWriteWriteln

2021-12-28 20:06:43

JavaScript開發數組

2025-03-17 08:30:00

JavaScript循環代碼

2022-03-11 14:59:21

JavaScript數組字符串

2017-02-22 14:09:31

Javaforeach反編譯

2018-09-26 14:37:17

JavaScript前端編程語言

2024-08-08 08:38:34

JavaScriptforEach循環

2013-05-28 00:35:48

JavaScriptfor循環

2022-01-12 15:50:24

JavaScript開發循環

2017-01-20 08:30:19

JavaScriptfor循環

2023-09-04 08:28:34

JavaScripforEach 循環
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站在线播放 | 在线看一区二区 | 久久男人天堂 | 99在线精品视频 | 精品久久久久久久久久久久 | 国产精品日韩欧美一区二区三区 | 欧美操操操 | 免费看国产精品视频 | 欧美区在线 | 狠狠做深爱婷婷综合一区 | 日韩一区中文字幕 | 91大神xh98xh系列全部 | 99re在线视频| 日韩欧美在线精品 | 国产精品91视频 | 亚洲欧洲一区 | 欧美成人一区二区 | 一级欧美一级日韩片免费观看 | 天天草夜夜骑 | 国产亚洲久 | 久久久精品亚洲 | 久久久.com | 午夜精品一区二区三区在线视频 | 亚欧午夜 | 久久精品国产一区二区电影 | 久草在线 | 成人免费在线观看视频 | 另类视频区 | 国产人成在线观看 | 国产精品96久久久久久 | 亚洲欧美一区在线 | 亚洲国产中文字幕 | 国产欧美精品一区二区三区 | 精精久久| www.亚洲区 | 午夜成人在线视频 | 久久久久国产一区二区三区四区 | 色在线免费视频 | 免费在线一区二区 | 在线 丝袜 欧美 日韩 制服 | 国产成人精品一区二区三 |