前端开发之JS中编写For循环的方法

开发 前端
这些年来,JavaScript 发展得如此之快。如果你之前有其他编程语言经验的话,你可能无法相信在 JavaScript 中有4种方法可以编写for 循环。

 这些年来,JavaScript 发展得如此之快。如果你之前有其他编程语言经验的话,你可能无法相信在 JavaScript 中有4种方法可以编写for 循环。

正如黑格尔所说:“存在就是合理的。”在技术演进的过程中,网络的力量越来越强大。因此,对于现代 Web 开发的必然语言JavaScript 期望也越来越高。

 

for 循环的语法就是一个很好的例子。开发人员发现老式不够好,至少对于每个使用场景。一些第三方库或框架开始提供一些更好的循环功能。然后,新的JavaScript 标准出现了,你需要再次更新浏览器。

本文将按照出现的先后顺序总结 JavaScript for 循环的4种编写方式。阅读后,你可以像专家一样正确使用它们。

1、C 风格的“三表达式” For 循环

这是自 ECMAScript 3 (ES3) 以来可用的老式方法。我们可以用三表达式样式来编写 for 循环:

 

  1. var a = [1,2,3,4] 
  2. for (var i=0; i<a.length; i++){ 
  3.     console.log(a[i]) 

 

不用说,这是一种经典的 C 风格方式。 如果我们愿意,我们可以一直使用这种时尚。 但它在现代 JavaScript 项目中不像以前那么流行,因为我们现在有更方便的方法。

2、“for…in…”循环

为了使对象的迭代更容易,有一个“for...in...”语法,它也可以从 ES3 获得。

 

  1. var author = {name"Yang", job: "programmer"
  2. for (var k in author){ 
  3.     console.log(k + ':' + author[k]); 
  4. //name:Yang 
  5. //job:programmer 

 

使用这种方式的最佳实践是永远不要将它用于数组。 由于数组也是幕后的对象,每一项的索引都被视为对象的属性,索引顺序是依赖于实现的,数组值可能不会按照你期望的顺序访问。

应用“for...in... ”到数组可能会导致一些意想不到的结果。

以下是问题“为什么使用“for...in”进行数组迭代是个坏主意?”的一个很好的例子。 在 StackOverflow 上。

 

  1. // Somewhere deep in your JavaScript library... 
  2. Array.prototype.foo = 1; 
  3.  
  4.  
  5. // Now you have no idea what the below code will do. 
  6. var a = [1, 2, 3, 4, 5]; 
  7. for (var x in a){ 
  8.     // Now foo is a part of EVERY array and  
  9.     // will show up here as a value of 'x'
  10.     console.log(x); 
  11.  
  12.  
  13. /* Will display: 
  14.    0 
  15.    1 
  16.    2 
  17.    3 
  18.    4 
  19.    foo 
  20. */ 

 

因此,为了使你的代码没有错误,永远不要将“for...in...”应用于数组。

3、 数组上的“forEach”方法

由于“for...in...”不适用于数组。 应该有更好的迭代 JavaScript 数组的方法。 所以 ES5 引入了数组的迭代方法。 在我看来,这种改进使 JavaScript 变得优雅。

迭代方法很多,适用于不同的使用场景:

  • Array.forEach()
  • Array.map()
  • Array.filter()
  • Array.reduce()
  • Array.every()
  • Array.some()

由于这篇文章是在讨论 for 循环,我们通过一个简单的例子来看看如何使用 Array.forEach() 方法:

 

  1. var author = [ 'Y''a''n''g' ]; 
  2. author.forEach(function(val){ 
  3.     console.log(val); 
  4. }); 
  5. // Y 
  6. // a 
  7. // n 
  8. // g 

 

4、ES6 中的“for...of...”语法

众所周知,ES6 是 JavaScript 的里程碑。 这个版本引入了许多很棒的功能。 “for...of...”方法就是其中之一。 它使事情变得更加优雅。

例如,我们可以像下面这样迭代数组的项:

 

  1. let author = [ 'Y''a''n''g' ]; 
  2. for (let char of author){ 
  3.     console.log(char); 
  4. // Y 
  5. // a 
  6. // n 
  7. // g 

 

结论

JavaScript 作为一种编程语言,不是静态的,而是不断发展的。 for 循环语法的扩展是展示它的一个很好的例子。

责任编辑:华轩 来源: 今日头条
相关推荐

2016-11-01 19:10:33

vue.js前端前端框架

2021-05-19 07:02:42

JS对象方法

2017-05-02 22:38:44

前端开发JS事件循环机制

2022-08-23 14:23:29

Vue.js命令行前端

2017-04-25 17:15:00

2023-04-28 15:20:37

JavaScript事件循环

2021-06-18 06:48:54

前端Nest.js技术热点

2020-11-26 08:38:57

前端 js 库vue

2022-01-21 19:00:44

前端JS框架

2021-03-09 16:30:50

Java前端框架开发

2024-01-05 08:49:15

Node.js异步编程

2011-09-30 10:18:50

Web

2020-05-20 19:38:11

前端js调试工具

2021-05-12 07:04:55

Js变量方式

2011-09-08 14:16:12

Node.js

2016-05-12 15:51:08

前端开发字符编码

2013-05-21 09:54:39

Web前端

2014-08-01 09:57:52

Node.jsNode.js插件

2009-06-19 10:13:00

J2EE开发乱码

2012-09-29 11:13:15

Node.JS前端开发Node.js打包
点赞
收藏

51CTO技术栈公众号