长沙百度推广公司电话太原seo关键词排名优化

news/2025/9/29 17:30:14/文章来源:
长沙百度推广公司电话,太原seo关键词排名优化,网站建设广金手指六六十四,济源做网站公司了解哪一种 for 循环或迭代器适合我们的需求#xff0c;防止我们犯下一些影响应用性能的低级错误。 由 Artem Sapegin 上传至 Unsplash JavaScript 是 Web 开发领域的“常青树”。无论是 JavaScript 框架#xff08;如 Node.js、React、Angular、Vue 等#xff09;#x…了解哪一种 for 循环或迭代器适合我们的需求防止我们犯下一些影响应用性能的低级错误。 由 Artem Sapegin 上传至 Unsplash JavaScript 是 Web 开发领域的“常青树”。无论是 JavaScript 框架如 Node.js、React、Angular、Vue 等还是原生 JavaScript都拥有非常庞大的粉丝基础。我们来谈谈现代 JavaScript 吧。循环一直是大多数编程语言的重要组成部分而现代 JavaScript 为我们提供了许多迭代或循环值的方法。 但问题在于我们是否真的知道哪种循环或迭代最适合我们的需求。for 循环有很多变形例如 for、for倒序、for…of、forEach、for…in、for…await。本文将围绕这些展开讨论。 究竟哪一种循环更快 答案其实是 for倒序 最让我感到惊讶的事情是当我在本地计算机上进行测试之后我不得不接受 for倒序是所有 for 循环中最快的这一事实。下面我会举个对一个包含超过一百万项元素的数组执行一次循环遍历的例子。 声明console.time() 结果的准确度在很大程度上取决于我们运行测试的系统配置。你可以在https://johnresig.com/blog/accuracy-of-javascript-time/对准确度作进一步了解。 const million  1000000;  const arr  Array(million);// 注这是稀疏数组应该为其指定内容否则不同方式的循环对其的处理方式会不同 // const arr  [...Array(million)]console.time(⏳); for (let i  arr.length; i  0; i--) {} // for(倒序)  :- 1.5ms for (let i  0; i  arr.length; i) {} // for          :- 1.6ms arr.forEach(v  v)                     // foreach      :- 2.1ms for (const v of arr) {}                 // for...of     :- 11.7ms console.timeEnd(⏳);造成这样结果的原因很简单在代码中正序和倒序的 for 循环几乎花费一样的时间仅仅相差了 0.1 毫秒。原因是for倒序只需要计算一次起始变量 let i arr.length而在正序的 for 循环中它在每次变量增加后都会检查条件 iarr.length。这个细微的差别不是很重要你可以忽略它。译者注在数据量小或对时间不敏感的代码上我们大可忽略它但是根据译者的测试当数据量扩大例如十亿千亿等的数量级差距就显著提升我们就需要考虑时间对应用程序性能的影响了。 而 forEach 是 Array 原型的一个方法与普通的 for 循环相比forEach 和 for…of 需要花费更多的时间进行数组迭代。译者注但值得注意的是for…of 和 forEach 都从对象中获取了数据而原型并没有因此没有可比性。 循环的类型以及我们应该在何处使用它们 1. For 循环正序和倒序 我想也许大家都应该对这个基础循环非常熟悉了。我们可以在任何我们需要的地方使用 for 循环按照核定的次数运行一段代码。最基础的 for 循环运行最迅速的那我们每一次都应该使用它对吗并不然性能不仅仅只是唯一尺度代码可读性往往更加重要就让我们选择适合我们应用程序的变形即可。 2. forEach 这个方法需要接受一个回调函数作为输入参数遍历数组的每一个元素并执行我们的回调函数以元素本身和它的索引可选参数作为参数赋予给回调函数。forEach 还允许在回调函数中使用一个可选参数 this。 const things  [have, fun, coding]; const callbackFun  (item, idex)  {console.log(${item} - ${index}); } things.foreach(callbackFun);  /* 输出   have - 0fun - 1coding - 2 */需要注意的是如果我们要使用 forEach我们不能使用 JavaScript 的短路运算符即不能在每一次循环中跳过或结束循环。 3. for…of for…of 是在 ES6ECMAScript 6中实现标准化的。它会对一个可迭代的对象例如 array、map、set、string 等创建一个循环并且有一个突出的优点即优秀的可读性。 const arr  [3, 5, 7]; const str  hello; for (let i of arr) {console.log(i); // 输出 3, 5, 7 } for (let i of str) {console.log(i); // 输出 h, e, l, l, o }需要注意的是请不要在生成器中使用 for……of即便 for……of 循环提前终止。在退出循环后生成器被关闭并尝试再次迭代不会产生任何进一步的结果。 4. for in for…in 会在对象的所有可枚举属性上迭代指定的变量。对于每个不同的属性for…in 语句除返回数字索引外还将返回用户定义的属性的名称。因此在遍历数组时最好使用带有数字索引的传统 for 循环。因为 for…in 语句还会迭代除数组元素之外的用户定义属性就算我们修改了数组对象例如添加自定义属性或方法依然如此。 const details  {firstName: john, lastName: Doe}; let fullName  ; for (let i in details) {fullName  details[i]   ; // fullName: john doe }for…of 和 for…in for…of 和 for…in 之间的主要区别是它们迭代的内容。for…in 循环遍历对象的属性而 for…of 循环遍历可迭代对象的值。 let arr [4, 5, 6]; for (let i in arr) {console.log(i); // 0, 1, 2 } for (let i of arr) {console.log(i); // 4, 5, 6 }结论 for 最快但可读性比较差 foreach 比较快能够控制内容 for...of 比较慢但香 for...in 比较慢没那么方便 最后给你一条明智的建议 —— 优先考虑可读性。尤其是当我们开发复杂的结构程序时更需要这样做。当然我们也应该专注于性能。尽量避免增添不必要的、多余的花哨代码因为这有时可能对你的程序性能造成严重影响。祝你编码愉快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人做美食视频网站wordpress自定义字段插件

本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法。分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt # 定义文本框和箭头格式 d…

自己怎么做企业网站烟台主流网站

前言最近看了某客时间的《Java业务开发常见错误100例》,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读~1. 六类典型空指针问题包装类型的空指针问题级联调用的空指针问题Equals方法左边的空指针问题ConcurrentHas…

网站内页上海机械网站建设

完整课程请点击以下链接 Go 语言项目开发实战_Go_实战_项目开发_孔令飞_Commit 规范_最佳实践_企业应用代码-极客时间 Go语言中没有传统意义上的类和继承的概念,但可以通过嵌入类型(embedded types)来实现类似的功能。嵌入类型允许一个结构…

程序员用什么软件亚马逊seo什么意思

1. 什么是HTTP协议 HTTP是应用层的协议。Java最主要的应用场景是做网站,而网站由 后端(HTTP服务器) 和 前端(浏览器)组成,HTTP协议就是负责这里后端和前端的数据交互。 HTTP3.0 之前在传输层是通过 TCP传…

opencv学习记录6

图像金字塔图像金字塔 高斯金字塔 向下取样----pyrDown (1)对图像进行高斯卷积核 (2)删除所有偶数行和列其中,高斯核卷积运算(高斯滤波)就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的…

努力的轨迹,通往成长的旅程——赵欣彤的自我介绍

老师、助教和各位同学们您好,我是赵欣彤。这篇博客是想和您做一个简单的自我介绍。虽然还不够成熟和优秀,但我很愿意学习、改进,也希望在课程中积极参与团队合作和项目实践。期待能在您的指导下和同学们一起成长。�…

第2章 day02 requests基础

爬虫初始 爬虫相关介绍什么是爬虫?爬虫程序是需要充当B/S或者C/S架构中的客户端。 爬虫程序需要模拟客户端进行请求发送,然后获取服务器端对应的相关数据。 在B/S架构中爬虫程序模拟的就是浏览器。提问:如果日后你的…

WebAPI开发步骤

WebAPI开发步骤1.在VS2022中选择新建项目,选择 ASP.Net Core Web API.2.我们先用CodeFirst,即先建数据表模型,再用EF Core写入数据库定义User类,在新建文件夹Models下,里面可以建多个对应数据库中的表实体 在NuGet…

台州公司网站外包晋州建设规划局网站

一 insert 语句 强调: 本文介绍的内容很基础,仅做记录用,参考价值较少 ① 总述 目的: 增加rows记录1、完整格式insert [into] 表名[字段名1[, 字段名2]] value[s](值1, 值2);备注:指定部分字段添加,没有被指定的字段要么会自动增长,要…

线性代数_工程实践-计算实现numpy

点云和坐标变换数学概念 1.矩阵乘法01.两个矩阵A和B相乘,需要满足A的列数等于B的行数02.单位矩阵 如果A是nn矩阵,I是单位矩阵,则AI= A, IA = A03.逆矩阵 矩阵A的逆矩阵 A^-1, A A^-1=A^-1A= I,I是单位矩阵 当…

广州网站定制开发定制美瞳网站建设

之前为了做控规,从湘源8中扒了一套国空用地用海的绘图参数给湘源7使用。 【预告】在湘源控规7中使用 国空用地用海分类标准 但是部里在2023年11月又发布了一套新的用地用海分类。 本想去湘源8里面再扒一下,结果发现湘源8自己还没有更新呢,…

在HAL库使用printf打印串口信息

以STM32F103为例,在hal库中选择usart1,设置按下图配置并在usart.c文件内新增以下函数:点击查看代码 #if 1 #pragma import(__use_no_semihosting) //标准库需要的支持函数 struct __…

第3章 day03 xpath+反爬虫

上次直播作业下厨房的菜谱搜索(多个请求参数)通过抓包工具的分析发现,搜索菜谱的数据包有两个请求参数:keyword:搜索的关键字 cat:1001固定形式import requests#请求头 headers = {User-Agent:Mozilla/5.0 (Macint…

装修公司营销网站模板查询注册公司

正整数 A 的“D​A​​(为 1 位整数)部分”定义为由 A 中所有 D​A​​ 组成的新整数 P​A​​。例如:给定 A3862767,D​A​​6,则 A 的“6 部分”P​A​​ 是 66,因为 A 中有 2 个 6。 现给定 A、D​A​​…

ttkefu2026迎来永久免费的客服系统分享

ttkefu2026迎来永久免费的客服系统分享在数字化浪潮席卷全球的当下,客户服务已成为企业核心竞争力的重要组成部分。然而,传统客服系统高昂的部署成本、复杂的功能配置以及多渠道整合的痛点,始终制约着中小企业服务效…

002- 学习环境搭建

学习环境搭建1、开发工具下载 Visualstudio 2022  https://visualstugio.microsoft.com/zh-hans/vs/ 【产品链接,失效自己找和谐版本】  https://docs.microsoft.com/zh-cn/visualstudio/releases/2022/system…

网页建站点seo实战密码在线阅读

最近看到一道面试题:内部类可以引用它的包含类的成员吗?有没有什么限制? 答案大部分都是这样子的: 完全可以。如果不是静态内部类,那没有什么限制! 一个内部类对象可以访问创建它的外部类对象的成员包括私有…

第10章 day10 DrissionPage详细教程

DrissionPage详细教程 1. 基本概述 DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能像requests一样收发数据包,更重要的是还能把两者合二为一。因此,简单来说DrissionPage可兼顾浏览器自动…

求局部最小值

求局部最小值局部最小值 题目:给定一个数组,每两个相邻的数组不等,找到该数组上任意一个局部最小值。 定义:nums[1] > nums[0] nums[len(nums) - 2] > nums[len(nums) - 1] nums[n-1] > nums[n] &&am…

Element-UI的transfer穿梭框组件数据量大解决方案

一、面临问题 数据量大,渲染慢,搜索、勾选、关闭、右移卡顿 二、解决方案 1. 总体思路 改写 Element-UI 的 transfer 穿梭框组件,形成自己的自定义组件 2. 具体步骤 2.1 复制 Element-UI 的 transfer 穿梭框组件出来…