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日

相关文章

  • 为什么要使用 Rust 语言、Rust 语言有什么优势

    为什么要使用 Rust 语言、Rust 语言有什么优势 1. 什么是 Rust 语言? Rust 是一种多范式系统编程语言,旨在提供可靠的内存安全和高性能 abstractions 的开发体验。特别是,它解决了传统 C 和 C++ 语言中的一些缺陷,如空指针、缓冲区溢出等,同时通过所有权机制解决了内存安全问题。Rust 是 Mozilla Foundatio…

    JavaScript 2023年5月28日
    00
  • JavaScript实现缓动动画

    当网页上的元素发生位移、大小或透明度等变化时,经常会需要添加缓动动画效果,用来让这些变化更加平滑和自然。而JavaScript可以通过改变CSS样式属性值来实现缓动动画效果,下面我将详细讲解一下JavaScript实现缓动动画的完整攻略。 步骤一:获取元素及其样式值 首先,需要获取到需要进行缓动动画的元素,以及元素的样式属性值。一般可以使用document.…

    JavaScript 2023年6月10日
    00
  • JavaScript进制转换实现方法解析

    JavaScript进制转换实现方法解析 背景介绍 计算机科学中,常用的进制有10进制、2进制、16进制等,但在不同的计算机环境下,进制的使用差别很大。JavaScript中提供了一些进制转换函数,可以实现不同进制之间的转换。 实现步骤 JavaScript中提供了以下几个进制转换函数:1. parseInt(string, radix):将一个字符串转换为…

    JavaScript 2023年5月28日
    00
  • JavaScript中Math.SQRT2属性的使用详解

    JavaScript中Math.SQRT2属性的使用详解 一、Math.SQRT2属性是什么? Math.SQRT2属性是JavaScript语言中的一个预定义常量,它表示的是2的平方根。它的值约等于1.4142135623730951。这个属性会与Math对象绑定,因此可以使用Math.SQRT2来访问它。 二、Math.SQRT2属性的使用 1.使用Ma…

    JavaScript 2023年6月10日
    00
  • 什么是DOM(Document Object Model)文档对象模型

    DOM (Document Object Model,文档对象模型)是一种表示 HTML 和 XML 文档的标准程序接口。通过使用 DOM,可以访问和操作一个文档中的内容。DOM 描述了一个层次化的节点树,允许开发人员添加、修改或删除文档中的任意部分。 DOM 模型分为三个部分:文档结构模型(Document),元素对象模型(Element)和特性对象模型(…

    JavaScript 2023年6月10日
    00
  • JavaScript 基础问答三

    JavaScript 基础问答三包含以下问题: 什么是事件循环?请简单描述它的机制。 JavaScript 中的 this 是什么?它有哪些应用场景? 请简单描述下 promise 的用法。 如何判断一个变量是数组类型?请写出代码示例。 下面是针对这些问题的完整攻略: 1. 什么是事件循环?请简单描述它的机制。 事件循环是指 JavaScript 引擎中的一…

    JavaScript 2023年5月18日
    00
  • JavaScript实现的select点菜功能示例

    下面是JavaScript实现的select点菜功能示例的完整攻略: 概述 在Web开发中,经常需要实现一些具有选择性质的功能,比如点菜、物品选择等。这时候我们可以使用select元素结合JavaScript来实现。 HTML结构 首先,我们需要在HTML中定义一个select元素,用于用户选择不同的选项。具体代码如下: <select id=&quo…

    JavaScript 2023年6月10日
    00
  • Python中还原JavaScript的escape函数编码后字符串的方法

    下面是详细讲解 Python 中还原 JavaScript 的 escape 函数编码后字符串的方法的完整攻略: 1. 什么是 JavaScript 的 escape 函数? JavaScript 的 escape 函数是一种将字符串编码成可在 URL 中传输的形式的方法。该函数可以用来防止 URL 路径中出现非法字符或中文字符时乱码。它会将非 ASCII …

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