广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Javascript中for循环语句有哪些写法
  • 242
分享到

Javascript中for循环语句有哪些写法

2024-04-02 19:04:59 242人浏览 薄情痞子
摘要

这篇文章主要介绍了javascript中for循环语句有哪些写法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一般写法如下:for(var&

这篇文章主要介绍了javascript中for循环语句有哪些写法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一般写法如下:

for(var i = 0;i< arr.length;i++) {
 var a = arr[i];
 //...
 }

这就是一个常见的,正序循环的for循环。这样写的缺点大家都明白:每次都从arr里取length与i来对比,浪费性能(而且,要是arr的长度是动态变化的,就会出现死循环)。改进这个循环的办法是用变量保存arr.length

for(var i = 0, al = arr.length;i< al;i++) {
 var a = arr[i];
 //...
 }

这样比第一种可以略微提升点性能,要是数组长,可以提升更多。

不过这样写就多了个变量al,且这个变量只在用来与i对比的时候有用,看着有点鸡肋。

如果循环顺序对你不重要,那你可以尝试倒序循环:

for(var i = arr.length-1;i > -1;i--) {
 var a = arr[i];
 //...
 }

这样一来变量少些,且还缓存过arr长度,性能也不错。但这里的代码写得有点拙劣(我故意的),首先是i = arr.length-1(居然要-1,靠),然后是循环继续执行的条件i > -1,都让有洁癖的人无法忍受。

下面是我常用的倒序for循环写法:

for(var i = arr.length;i--;) {
 var a = arr[i];
 //...
 }

这已经非常精简了。原理需要理解一下:for循环继续执行的条件,是;;之间的这个判断要为真,而这里的i–,在第一次循环进来的时候,i=arr.length,i–值不变(为什么不变?因为要在for循环体里面,才会发现i变了);当i=1时,i- -还是1,但进入循环体后,就是0了,所以可以正常执行最后一次循环;当i=0时,i–还是0,而0已经不为真了,所以循环就不会继续执行了。

大家注意到上面的所有代码的for循环体里,都有个var a = arr[i] ,用来取出当前循环到的数组项。这实际上也是种浪费,且jsLint等会告诉你:不要在循环里声明变量。。。

倒序的for可以精简至斯,但我就是要正序,而且要效率高,变量少,怎么办?

如下:

for(var i = 0, a;a = arr[i++];) {
 //...
 }

这种写法好处在于:几乎不可避免的arr.length不见了,前面说的取出当前循环到的数组项的那一句也不见了。

原理:

a = arr[i++] ,在这里作为循环能执行的条件,注意这里只有一个=号,所以这不是判断句,是赋值语句,就是把arr[i++]赋给a,然后判断a是不是真值。i++与i–的原理类型我就不说了,只说当i++已经超过数组的长度时,循环肯定要停止才行,而这里真的就停止了,为什么?因为a=arr[i++] ,如果取到了超出数组本身长度的项,只会取得一个undefined,而undefined是假值,循环条件就判断失败了。

当然,这样写的缺点也很明显:

     1,当arr的长度动态变化时,依然会产生死循环————因为我们从来没缓存过arr.length呀。

     2,如果循环的是一个数字数组,当取出的项(即a的值)为0时,就会中止循环(因为0是假值)。

     3,当数组中某一项是假值时(包括空字符串,0,null,undefined),同样会中止循环

所以大家用这种写法时,最好排除掉上面的情况再用。

这个原理同样可以用在倒序循环上。

最后我要忠告大家几句:

  1. 代码精简不等于效率高!

  2. 不要为了故意精简代码而丧失性能

顺带说几点提高for循环性能的要点:

     1,适时break!不需要遍历全部的就要加跳出条件!

     2,不要在for循环体里声明变量(建议一次var,多次赋值)

     2,数组长度缓存,尽量少变量

感谢你能够认真阅读完这篇文章,希望小编分享的“Javascript中for循环语句有哪些写法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网JavaScript频道,更多相关知识等着你来学习!

--结束END--

本文标题: Javascript中for循环语句有哪些写法

本文链接: https://www.lsjlt.com/news/78079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Javascript中for循环语句有哪些写法
    这篇文章主要介绍了Javascript中for循环语句有哪些写法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一般写法如下:for(var&...
    99+
    2022-10-19
  • javascript有哪些循环语句
    这篇文章主要介绍“javascript有哪些循环语句”,在日常操作中,相信很多人在javascript有哪些循环语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javasc...
    99+
    2022-10-19
  • php for循环的写法有哪些
    本篇内容主要讲解“php for循环的写法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php for循环的写法有哪些”吧!php for循环有2种写法,分别是:1、“for(expr1;...
    99+
    2023-06-25
  • JavaScript中有哪些循环语句和流程控制语句
    这篇文章将为大家详细讲解有关JavaScript中有哪些循环语句和流程控制语句,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。循环语句众所周知,常用的循环语句...
    99+
    2022-10-19
  • PHP中循环语句有哪些
    这篇文章给大家分享的是有关PHP中循环语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP 循环在您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样的...
    99+
    2022-10-19
  • C#中有哪些循环语句
    C#中有哪些循环语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#循环语句之while语句当一个表达式的值为真时,这个语句执行一个语句列表。控制while语...
    99+
    2023-06-17
  • JavaScript循环语句有哪些及怎么用
    今天小编给大家分享一下JavaScript循环语句有哪些及怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • Python中的循环语句有哪些
    今天就跟大家聊聊有关Python中的循环语句有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1 for循环是for循环,可以把集合数据类型list、tuple、dict、set的...
    99+
    2023-06-14
  • MySQL的循环语句有哪些
    这篇“MySQL的循环语句有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL的循环语句有哪些”文章吧。mysql...
    99+
    2023-06-28
  • 【Python入门篇】——Python中循环语句(for循环的基础语法)
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选...
    99+
    2023-09-01
    python 开发语言 numpy
  • python中有哪些类型的循环语句
    python中有哪些类型的循环语句?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、有限循环for循环,是可以依次得到序列循环中每个元素,并依次处理。遍历一个可...
    99+
    2023-06-15
  • php中的循环控制语句有哪些
    这篇文章给大家介绍php中的循环控制语句有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServe...
    99+
    2023-06-14
  • JavaScript中三种for循环语句的使用总结(for、for...in、for...of)
    前言 每个接触JS的开发人员都不可避免的与for循环打交道,毕竟这是遍历必不可少的工具之一。JavaScript 中的 for 循环语句相信大家都已经快用厌了,现在有好多文章都在讲怎...
    99+
    2022-11-12
  • python循环语句的特点有哪些
    Python循环语句的特点有以下几点:1. 简洁明了:Python的循环语句采用了简洁的语法,使得代码更易读、易懂。2. 灵活性强:...
    99+
    2023-09-23
    python
  • linux中shell有哪些循环与判断语句
    linux中shell有哪些循环与判断语句?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一,for循环#!/bin/bash  for&nb...
    99+
    2023-06-09
  • Java中for循环语句嵌套的语法是什么
    这篇“Java中for循环语句嵌套的语法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中for循环语句嵌套的语...
    99+
    2023-06-29
  • javascript中有哪些循环
    javascript中的循环有:1.for循环,先判断后循环;2.while循环,先判断后循环;3.do while循环,先循环后判断;javascript中的常用的循环有以下几种for循环javascript中for循环是一种先判断后循环...
    99+
    2022-10-21
  • 编写Vue v-for循环的方式有哪些
    这篇文章主要讲解了“编写Vue v-for循环的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写Vue v-for循环的方式有哪些”吧!这在碰到诸如以下情况时...
    99+
    2023-06-22
  • JavaScript循环的方法有哪些
    本篇内容主要讲解“JavaScript循环的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript循环的方法有哪些”吧! ...
    99+
    2022-10-19
  • java中使用for循环时常见的语法错误有哪些
    错误程序如下:public class Forloop { public static void main(String[] args) { for (int i = 1; i ...
    99+
    2016-04-23
    java入门 java for 语法错误
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作