ECMAScript 2021(简称 ES2021)是 JavaScript 的最新标准版本,其中包含了许多新特性,包括一些强大的循环语句。在本文中,我们将深入探讨这些循环语句,包括它们的使用方法、语法、优缺点和示例代码,以帮助读者更好地理解和应用这些循环语句。
for in 循环语句
for in 循环语句是 JavaScript 最常用的循环语句之一,它可以循环遍历对象的属性。该语句的基本语法如下:
for (variable in object) { // code block to be executed }
其中 variable
是一个变量,它在每次循环中被赋予一个新的属性名(字符串类型),而 object
是一个对象,它可以是普通对象、数组或类数组对象。下面是一个示例:
const obj = { a: 1, b: 2, c: 3 }; for (let prop in obj) { console.log(prop, obj[prop]); } // Output: // a 1 // b 2 // c 3
可以看到,for in 循环语句遍历了对象 obj
的所有属性,并将属性名和属性值打印出来。
需要注意的是,使用 for in 循环遍历数组时,除了遍历数组元素之外,也会遍历数组对象的其他属性,例如 length
、constructor
和 prototype
等。为了避免这种情况,可以使用 hasOwnProperty()
方法来判断属性是否为对象自身的属性,如下所示:
-- -------------------- ---- ------- ----- --- - --- -- --- ------- - -------- --- ---- ---- -- ---- - -- -------------------------- - ----------------- ----------- - - -- ------- -- - - -- - - -- - - -- --- -----
for of 循环语句
for of 循环语句是 ES2015 引入的一种新循环语句,它可以遍历具有可迭代性的对象(包括数组、字符串、Map、Set 和类数组对象等)。该语句的基本语法如下:
for (variable of iterable) { // code block to be executed }
其中 variable
是一个变量,在每次循环中被赋予一个新的值(例如,数组元素的值),iterable
是一个可迭代对象。下面是一个示例:
const arr = [1, 2, 3]; for (let val of arr) { console.log(val); } // Output: // 1 // 2 // 3
for of 循环语句与 for in 循环语句最大的区别在于,for of 循环遍历的是可迭代对象的值,而 for in 循环遍历的是对象的属性名。因此,使用 for of 循环遍历数组时,可以避免遍历数组对象的其他属性。
forEach 循环语句
forEach 循环语句是数组提供的另一种循环方式,它可以遍历数组的每一个元素,并且可以传入一个函数参数,对每个元素进行操作。该语句的基本语法如下:
array.forEach(function(currentValue, index, array) { // code block to be executed })
其中 array
是要遍历的数组,currentValue
是数组元素的当前值,index
是数组元素的当前索引,而 array
则是数组自身。下面是一个示例:
const arr = [1, 2, 3]; arr.forEach(function(val, index) { console.log(`${index}: ${val}`); }); // Output: // 0: 1 // 1: 2 // 2: 3
需要注意的是,forEach 循环语句无法使用 break
或 continue
语句来终止循环或跳过某些数组元素,因此它的应用场景相对有限。
while 循环语句
while 循环语句是 JavaScript 最基本的循环语句之一,它可以根据条件重复执行代码块。该语句的基本语法如下:
while (condition) { // code block to be executed }
其中 condition
是一个布尔表达式,它会在每次循环开始时被检查,如果返回 true
则继续执行循环,否则终止循环。下面是一个示例:
-- -------------------- ---- ------- --- - - -- ----- -- - -- - -------------------- ------- ---- - -- ------- -- ------- - -- ------- - -- ------- - -- ------- - -- ------- -
需要注意的是,如果循环条件不满足,while 循环语句可能会导致无限循环,因此需要小心使用。
do while 循环语句
do while 循环语句与 while 循环语句相似,不同之处在于它会先执行一次循环代码块,然后再检查条件。该语句的基本语法如下:
do { // code block to be executed } while (condition);
其中 condition
是一个布尔表达式,它会在每次循环结束时被检查,如果返回 true
则继续执行循环,否则终止循环。下面是一个示例:
-- -------------------- ---- ------- --- - - -- -- - -------------------- ------- ---- - ----- -- - --- -- ------- -- ------- - -- ------- - -- ------- - -- ------- - -- ------- -
需要注意的是,与 while 循环语句一样,do while 循环语句也可能会导致无限循环,因此需要小心使用。
总结
本文中我们详细探讨了 JavaScript 中常见的几种循环语句,包括 for in 循环语句、for of 循环语句、forEach 循环语句、while 循环语句和 do while 循环语句。每种循环语句都有其优缺点和应用场景,读者可以根据自己的需求来选择合适的循环语句。我们也提供了大量的示例代码,帮助读者更好地理解和应用这些循环语句。希望本文能对读者更好地掌握 JavaScript 循环语句有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64dec03df6b2d6eab39dfb23