JavaScript中for循环的几种写法与效率总结

以下是详细的攻略:

JavaScript中for循环的几种写法与效率总结

1. for循环基本语法

for (let i = 0; i < length; i++) {
  // 循环体
}

其中,let i = 0 表示初始化一个变量 i ,初始值为 0i < length 表示循环条件,当 i 小于 length 时,执行循环体; i++ 表示每次循环后, i 的值增加1。

2. for...in 循环

for...in 循环用于遍历对象的属性名,语法如下:

for (let key in obj) {
  // 循环体
}

其中, key 表示对象的属性名, obj 表示要遍历的对象。

示例:

const obj = {a: 1, b: 2, c: 3};
for (let key in obj) {
  console.log(key, obj[key]);
}

运行结果为:

"a" 1
"b" 2
"c" 3

3. for...of 循环

for...of 循环用于遍历可迭代对象(例如数组、字符串、Map、Set 等),语法如下:

for (let item of iterable) {
  // 循环体
}

其中, item 表示可迭代对象的每个项, iterable 表示要遍历的可迭代对象。

示例:

const arr = [1, 2, 3];
for (let item of arr) {
  console.log(item);
}

运行结果为:

1
2
3

4. forEach 循环

forEach 循环用于遍历数组,语法如下:

array.forEach(function(item, index, array) {
  // 循环体
});

其中, item 表示数组的每个项, index 表示当前项在数组中的索引, array 表示要遍历的数组。

示例:

const arr = [1, 2, 3];
arr.forEach((item, index) => {
  console.log(index, item);
});

运行结果为:

0 1
1 2
2 3

5. for...in 与 for...of 的效率比较

在遍历数组或类数组对象(例如 arguments 对象)时, for...in 循环既可以遍历数组的下标,也可以遍历数组的原型属性,所以不建议使用 for...in 循环遍历数组。而 for...of 循环只能遍历数组元素,不会遍历原型属性,效率比 for...in 循环高。

示例:

const arr = [1, 2, 3];
arr.foo = 'bar';

for (let key in arr) {
  console.log(key); // 输出 0, 1, 2, "foo"
}

for (let item of arr) {
  console.log(item); // 输出 1, 2, 3
}

总结

  • for 循环适用于任何类型的循环,特别是在需要前进或后退的循环(如二分查找,或从尾部开始循环)时。
  • for...in 循环用于遍历对象的属性名,不适用于遍历数组。
  • for...of 循环用于遍历可迭代对象,特别适用于遍历数组。

使用时应根据需要灵活选择。以上就是关于 JavaScript 中 for 循环的几种写法与效率总结的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中for循环的几种写法与效率总结 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript中Number.NEGATIVE_INFINITY值的使用详解

    JavaScript中Number.NEGATIVE_INFINITY值的使用详解 概述 Number.NEGATIVE_INFINITY是JavaScript中一个特殊的数值类型,表示负无穷大。当进行一些数学计算时,如果结果超出JavaScript所能表示的数值范围,该结果将被自动转换为Number.NEGATIVE_INFINITY。 使用场景 Numb…

    JavaScript 2023年5月28日
    00
  • JS按钮连击和接口调用频率限制防止客户爆仓

    JS按钮连击和接口调用频率限制防止客户爆仓是前端开发中非常重要的两个问题,此处进行详细讲解。 JS按钮连击 在网页中,用户经常会通过点击按钮等界面元素执行某些操作。如果用户在短时间内多次连续点击同一个按钮,就会引发“按钮连击”问题。如何避免JS按钮连击问题呢?下面介绍几种常用的方法: 1. 禁用按钮 可以在按钮第一次点击时禁用按钮,在处理完当前请求后再重新启…

    JavaScript 2023年6月10日
    00
  • js调用AJAX时Get和post的乱码解决方法

    这里是 “js调用AJAX时Get和post的乱码解决方法”的完整攻略,我们将分为以下几个步骤: 确认乱码问题 解决Get请求的乱码问题 解决Post请求的乱码问题 接下来详细讲解: 1. 确认乱码问题 首先在实际开发时遇到乱码问题时,需要确认到底是AJAX请求出现了乱码,还是服务器返回了乱码,这是解决问题的第一步。 可以通过Chrome浏览器的开发者工具,…

    JavaScript 2023年5月19日
    00
  • vue3 vite异步组件及路由懒加载实战示例

    下面我将详细讲解“vue3 vite异步组件及路由懒加载实战示例”的完整攻略。 什么是异步组件及路由懒加载? 异步组件是指在页面加载时不会被立即加载的组件,而是在组件被使用时动态加载。这种技术有助于提高页面加载速度,减少初始化时不必要的开销。 路由懒加载,是指在路由被触发时才下载相关的代码。它可以提高页面加载速度、降低初次加载时的资源消耗。 如何进行异步组件…

    JavaScript 2023年6月11日
    00
  • MockJs结合json-server模拟后台数据

    MockJs结合json-server模拟后台数据的完整攻略如下: 1. 安装MockJs和json-server 在终端中执行以下命令安装MockJs和json-server: npm install mockjs json-server –save-dev 2. 编写Mock数据 在项目根目录下创建mock文件夹,然后创建文件db.json和mock.…

    JavaScript 2023年5月27日
    00
  • JavaScript reduce方法使用方法介绍

    当我们需要对数组进行一系列的计算操作时,reduce()方法就非常有用了。本篇攻略将带您详细了解JavaScript中的reduce()方法,包括使用方法、参数、返回值。 reduce()方法介绍 reduce()方法是JavaScript数组的高阶函数之一,其作用在于通过遍历数组中的所有元素并将它们累加起来,最终返回一个结果。 array.reduce(c…

    JavaScript 2023年6月10日
    00
  • Javascript 赋值机制详解

    Javascript 赋值机制详解 Javascript 是一门动态的编程语言,它的赋值机制相比一些静态编程语言来说要复杂得多。本文将详细讲解 Javascript 赋值机制的原理、规则和示例。 变量的赋值 基本类型 在 Javascript 中,变量分为基本类型和引用类型。基本类型包括 Number、String、Boolean、null、undefine…

    JavaScript 2023年5月28日
    00
  • 原生JavaScript实现todolist功能

    当我们提到todolist功能时,我们通常指的是一个可以添加、删除、编辑、标记已完成等功能的任务列表。 实现这样一个功能,可以使用原生JavaScript来完成。下面是一些步骤和示例代码: 步骤一:创建HTML结构 首先,需要创建一个HTML结构来展示任务列表。需要一个输入框来允许用户输入新任务,还需要一个可滚动的任务列表来展示已有的任务。每个任务项需要包含…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部