博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS编程建议——22:少用函数迭代
阅读量:5877 次
发布时间:2019-06-19

本文共 689 字,大约阅读时间需要 2 分钟。

建议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倍,因此在非特殊需求下,不建议使用函数迭代。

转载地址:http://duuix.baihongyu.com/

你可能感兴趣的文章
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
開始新的征程
查看>>
SpringMVC案例1——对User表进行CRUD操作
查看>>
看雪CTF第十四题
查看>>
模拟生命_吸烟致癌?
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Maven 传递依赖冲突解决(了解)
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>