js 使用for循环遍历数组[通俗易懂]

js 使用for循环遍历数组

大家好,又见面了,我是全栈君。

今天写个无聊的东西!for循环的使用!

例如以下:定义a数组,b为伪数组!

var a = [1,2,3,0,5,4];
var b = document.getElementsByTagName('li'); 
//[<li>1</li>,<li>2</li>,<li>3</li>,<li>4</li>,<li>5</li>]

 

第一种:错误型!

for ( var i = 0; i < a.length; i++ ){
//这样的写法是最主要的。但错误的地方是数组长度不该每次都取。所以一般我们都会用另外一种写法!
} 

另外一种:通用型!

for ( var i = 0,l = a.length; i < l; i++ ){
//这样的写法是最常见的。最好理解的,也是通用的,对于a,b这两种类型的(伪)数组都能够。
} 

第三种:优化型

for ( var i = a.length - 1; i >= 0 ; i-- ) {
//这样的写法非常巧妙,倒序来遍历,从而节省了一个暂时变量!对于a,b这两种类型的(伪)数组都能够。
//google的compiler压缩后就会对for循环做这样的优化!

}

第四种:特定型

for ( var i = 0; b[i]; i++ ) {
//这样的写法不是通用的,对于数组a就不行。但对于数组b这样的dom元素的集合来说非常有用!
}

第五种:技巧型

for ( var i = 0, elem; (elem = b[i]) != null; i++ ) {
//这样的写法也是特定情况下使用的,当数组的元素不等于某一个值得时候,这里是当遇到null或undefined时停止循环,所以数组a也是能够使用的!

//技巧的地方是声明条件的同一时候赋值。能够降低一行赋值暂时变量的代码!}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115947.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 香港手机号正则表达式「建议收藏」

    香港手机号正则表达式「建议收藏」刚遇到一个问题,不了解香港手机号的规则,现在记录下来,方便以后查看香港手机号码正则:^([6|9])\d{7}$澳门手机号码正则:^[0][9]\d{8}$大陆:^[1][3-8]\d{9}$正则表达式:^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[6]([8|6])\d{5}$这是规则:大陆:开头13-8号码

  • Web开发 Cs和Bs架构

    Web开发 Cs和Bs架构CS架构:是指客户端与服务器举个例子:qq.exe文件在电脑上安装就可以看做是一个客户端,而数据就是从服务器发送过来的,优点在于,安全性能相对而言较高,缺点在于,对于不同的操作系统需要开发出不同版本的软件BS架构:是指游览器与服务器比如说qq.com可以在浏览器中直接访问优点在于,具有可移植性缺点在于,安全性能相对较低,以及与电脑自身的网速有关…

  • fastdfs

    fastdfs

  • 米的换算单位和公式_米的单位换算公式大全(长度单位大全表)

    米的换算单位和公式_米的单位换算公式大全(长度单位大全表)位换算题是小学低年级数学学习重点之一。单位换算记忆不够深刻,孩子经常混淆运用,容易出现计算失误,进率错误等问题。牢记单位换算口诀,才能准确计算。口诀:大化小,往右移,进率有几个“0”,就移几位。小化大,往左移,进率有几个“0”,就移几位。长度单位国际单位是“米”。最常见的有千米(km)、米(m)、分米(dm)、厘米(cm)、毫米(mm)。换算公式1千米(km)=1000米(m),1米(m)=10分…

  • faster-rcnn 之 RPN网络的结构解析以及RPN代码详解

    faster-rcnn 之 RPN网络的结构解析以及RPN代码详解【首先】:大家应该要了解卷积神经网络的连接方式,卷积核的维度,反向传播时是如何灵活的插入一层;这里我推荐一份资料,真是写的非常清晰,就是MatConvet的用户手册,这个框架底层借用的是caffe的算法,所以他们的数据结构,网络层的连接方式都是一样的;建议读者看看,很快的;下载链接:点击打开链接【前面5层】:作者RPN网络前面的5层借用的是ZF网络,这个网络的结构图我截个图放在下面

  • Jenkins教程(Windows版)

    Jenkins教程(Windows版)安装Java环境安装过程省略环境变量JAVA_HOME=C:\ProgramFiles\Java\jdk1.8.0_191PATH增加%JAVA_HOME%\binjava-version安装Maven环境安装过程省略环境变量MAVEN_HOME=D:\apache-maven-3.5.4PATH增加%MAVEN_HOME%\binmvn-v安装Tomcat环境安装过程省略环境变量CATALINA_BASE=D:\apache-tom..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号