JS编程建议——22:少用函数迭代

简介: 22:少用函数迭代

建议22:少用函数迭代
ECMA-262v4为本地数组对象新增加了一个forEach方法。此方法遍历一个数组的所有成员,并且在每个成员上执行一个函数。在每个元素上执行的函数作为forEach()的参数传进去,并在调用函数时接收3个参数:数组项的值、数组项的索引、数组自身。例如:

  1. items.forEach(function(value, index, array){
  2. process(value);
  3. });
    forEach在Firefox、Chrome和Safari等浏览器中为原生函数。另外,forEach在大多数JavaScript 库中都有等价实现,例如:
  4. //YUI 3
  5. Y.Array.each(items, function(value, index, array){
  6. process(value);
  7. });
  8. //jQuery
  9. jQuery.each(items, function(index, value){
  10. process(value);
  11. });
  12. //Dojo
  13. dojo.forEach(items, function(value, index, array){
  14. process(value);
  15. });
  16. //Prototype
  17. items.each(function(value, index){
  18. process(value);
  19. });
    尽管基于函数的迭代使用起来非常便利,但是比基于循环的迭代要慢一些。每个数组项要关联额外的函数调用是造成速度慢的主要原因。在所有情况下,基于函数的迭代占用时间是基于循环的迭代的8倍,因此在非特殊需求下,不建议使用函数迭代。
相关文章
|
14天前
|
JavaScript 前端开发 编译器
解锁JavaScript模块化编程新纪元:从CommonJS的基石到ES Modules的飞跃,探索代码组织的艺术与科学
【8月更文挑战第27天】随着Web应用复杂度的提升,JavaScript模块化编程变得至关重要,它能有效降低代码耦合度并提高项目可维护性及扩展性。从CommonJS到ES Modules,模块化标准经历了显著的发展。CommonJS最初专为服务器端设计,通过`require()`同步加载模块。而ES Modules作为官方标准,支持异步加载,更适合浏览器环境,并且能够进行静态分析以优化性能。这两种标准各有特色,但ES Modules凭借其更广泛的跨平台兼容性和现代语法逐渐成为主流。这一演进不仅标志着JavaScript模块化的成熟,也反映了整个JavaScript生态系统的不断完善。
33 3
|
18天前
|
前端开发 JavaScript 开发者
揭秘JavaScript魔法三剑客:call、apply、bind,解锁函数新世界,你的前端之路因它们而精彩!
【8月更文挑战第23天】在 JavaScript 的世界里,`call`、`apply` 和 `bind` 这三个方法常常让新手感到困惑。它们都能改变函数执行时的上下文(即 `this` 的指向),但各有特点:`call` 接受一系列参数并直接调用函数;`apply` 则接收一个参数数组,在处理不确定数量的参数时特别有用;而 `bind` 不会立即执行函数,而是创建一个新版本的函数,其 `this` 上下文已被永久绑定。理解这三个方法能帮助开发者更好地运用函数式编程技巧,提升代码灵活性和可维护性。
24 0
|
18天前
|
前端开发 JavaScript 开发者
【前端开发者的福音】彻底改变你编码习惯的神奇数组迭代技巧——从基础到进阶,解锁 JavaScript 数组迭代的N种姿势!
【8月更文挑战第23天】在Web前端开发中,数组是JavaScript中最常用的数据结构之一,掌握高效的数组迭代方法至关重要。本文详细介绍了多种数组迭代技巧:从基础的`for`循环到ES6的`for...of`循环,再到高阶方法如`forEach`、`map`、`filter`、`reduce`及`some`/`every`等。这些方法不仅能提高代码的可读性和维护性,还能有效优化程序性能。通过具体的示例代码,帮助开发者更好地理解和运用这些迭代技术。
24 0
|
7天前
|
JavaScript 前端开发
JavaScript基础知识-函数的返回值
关于JavaScript函数返回值的基础知识。
18 9
JavaScript基础知识-函数的返回值
|
7天前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
14 4
JavaScript基础知识-函数的参数
|
7天前
|
JavaScript 前端开发
JavaScript基础知识-立即执行函数
关于JavaScript基础知识中立即执行函数的介绍。
13 2
JavaScript基础知识-立即执行函数
|
5天前
|
JavaScript 前端开发
JavaScript 函数
JavaScript 函数
18 9
|
6天前
|
JavaScript 前端开发
前端JS函数
【9月更文挑战第4天】前端JS函数
19 6
|
3天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
8 1
|
12天前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
下一篇
DDNS