服务器之家:专注于服务器技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - js教程 - 前端开发之JS中编写For循环的方法

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

2021-12-24 20:00清闲的帆船先生 js教程

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

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

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

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

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
  3. console.log(a[i])
  4. }

不用说,这是一种经典的 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. }
  5. //name:Yang
  6. //job:programmer

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

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

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

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

因此,为了使你的代码没有错误,永远不要将“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. }
  5. // Y
  6. // a
  7. // n
  8. // g

结论

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

原文链接:https://www.toutiao.com/a7045097719052026379/

延伸 · 阅读

精彩推荐
  • js教程原生JS运动实现轮播图

    原生JS运动实现轮播图

    这篇文章主要为大家详细介绍了原生JS运动实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Bean_s9322021-12-24
  • js教程js仿淘宝放大镜效果

    js仿淘宝放大镜效果

    这篇文章主要为大家详细介绍了js仿淘宝放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    屈小康11022021-12-21
  • js教程JavaScript实现滚动加载更多

    JavaScript实现滚动加载更多

    这篇文章主要为大家详细介绍了JavaScript实现滚动加载更多,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    予倾9872021-12-20
  • js教程微信小程序视频弹幕发送功能的实现

    微信小程序视频弹幕发送功能的实现

    这篇文章主要介绍了微信小程序视频弹幕发送功能的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    保护我方豆豆4822021-12-21
  • js教程js实现头像上传并且可预览提交

    js实现头像上传并且可预览提交

    这篇文章主要介绍了js如何实现头像上传并且可预览提交,帮助大家更好的理解和使用js,感兴趣的朋友可以了解下...

    harold10244042021-12-20
  • js教程js用正则表达式筛选年月日的实例方法

    js用正则表达式筛选年月日的实例方法

    在本篇文章里小编给大家整理的是一篇关于js用正则表达式筛选年月日的实例方法,对此有兴趣的朋友们可以学习下。...

    小妮浅浅11842021-12-24
  • js教程javascript的事件描述

    javascript的事件描述

    本文主要为大家介绍javascript事件的基础知识,有需要的朋友可以参考下...

    js教程网9362021-12-15
  • js教程js定时器出现第一次延迟的原因及解决方法

    js定时器出现第一次延迟的原因及解决方法

    在本篇文章里小编给大家整理的是一篇关于js定时器出现第一次延迟的原因及解决方法,对此有需要的朋友们可以学习下。...

    宋宋大人4892021-12-24