众所周知,for循环是编程中必不可少的知识点;那么如何高效的写出循环呢?

我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的;

1             for(条件){
2 执行语句
3 }

而for循环的条件要明确从哪里开始执行?执行到哪里结束?中间的过程是向上还是向下?

假如不理解js基础语法的会犯下面的错误

1                 for (var i = 0; i < 10; i++;) { X 第三个条件是最后的条件所以不需要加“ ;”
2 console.log(i);
3 }

其实除了 “i<10”这个条件,其他条件并不是必须放到小括号里,例如定义a的可以放到放行环上面;定义自增自减的。放到for循环的执行语句里面也是可以的;

后期进行复杂循环会用到这些规则;

1                 var i = 0;
2 for (;i < aLen;) {
3 console.log(a[i] + 'low');
4 i++;
5 }

必须要明白,JavaScript是由上往下执行的,所以如果逻辑上不通的话会报错的。所以还是建议按照基础语法来写。;

执行一遍再回到条件语句里面,判断参数是否满足条件,如果满足继续执行,不满足跳出循环。继续执行下面代码。

这就是for循环的基本逻辑。

由于大部分for循环都是为了遍历某个数组或对象。所以更新出了新的语法。

下边请看栗子:

 1             var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 'a'];
2 var aLen = a.length;
3 function low() {
4 for (var i = 0; i < aLen; i++) {
5 console.log(a[i] + 'low');
6 }
7 return a;
8 }
9
10 function fashion() {
11 for (i in a) {
12 console.log(a[i] + 'fashion');
13 }
14 return a;
15 }

low() 与fashion() 执行结果和逻辑是相同的;但简洁度明显是fashion() 比较高;

看执行结果;

所以如果是遍历某个对象或数组,建议使用第二个函数中的for循环;

js中for循环遍历的写法的更多相关文章

  1. js中的循环

    js中的循环是我们经常要用到的,现在进行一些归纳. 一.javascript种的循环. 1.循环对象 var o = { name: 'Jack', age: 20, city: 'Beijing' ...

  2. js中的数组遍历

    js中的数组遍历是项目中经常用到的,在这里将几种方法做个对比. ! for循环:使用评率最高,也是最基本的一种遍历方式. let arr = ['a','b','c','d','e']; for (l ...

  3. java和js中for循环的区别

    java中for循环,先执行语句后循环 for (int i=1;i<10;i++){ for(int b=1;b<=i;b++){ System.out.print(b+"*& ...

  4. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  5. js中的三种函数写法

    js中的三种函数写法 <script type="text/javascript"> //普通的声明方式 function myFun(m,n){ alert(m+n) ...

  6. js中for循环的研究

    转自:http://blog.csdn.net/lushuaiyin/article/details/8541500 <html> <body> <b><ce ...

  7. HTML+JS中网页跳转的写法

    1.html中使用meta中跳转,通过meta可以设置跳转时间和页面 <head> <!--只是刷新不跳转到其他页面 --> <meta http-equiv=" ...

  8. js中4种遍历语法比较

    前言:本文主要比较for.for-in.forEach和for-of的异同以及优缺点. for for循环是最原始最易理解的循环遍历方式 for(var index = 0;index < ar ...

  9. JS中的循环嵌套 BOM函数

    [嵌套循环特点]                           外层循环转一次,内层循环转一圈              外层循环控制行数,内层循环控制每行元素个数             [做 ...

随机推荐

  1. ps的参数解释

    [root@bogon ~]# ps axuUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND user启动进程的用户 pid  表示进程标志 ...

  2. java 不利用第三个变量的情况下将值互换

    package com.zcj.eg001; public class VarChange { public static void main(String[] args) { int a = 10; ...

  3. saltstack 服务器批量管理

    学习saltstack 服务器批量管理 1.saltstack 简介 SaltStack是一个开源的.新的基础平台管理工具,使用Python语言开发,同时提供Rest API方便二次开发以及和其他运维 ...

  4. 微信小程序 发送模板消息的功能实现

    背景 - 小程序开发的过程中,绝大多数会满足微信支付 - 那么,作为友好交互的体现,自然就会考虑到支付后的消息通知咯 - 所以,我的小程序项目也要求完成这个效果,so.分享一下自己的实现步骤,以方便道 ...

  5. Py集合,字符串的格式化,函数,便利

    可变与不可变 不可变指的是:重新赋值时,内存中的id值会变得 其中有:字符串,数字,元组 name="sb" v=id(name) print(v) name ="ale ...

  6. Java Optional使用指南

    提到NullPointerException(简称NPE)异常,相信每个Java开发人员都不陌生,从接触编程的第1天起,它就和我们如影随形,最近处理的线上bug中,有不少都是对象没判空导致的NullP ...

  7. 数据库内核——基于HLC的分布式事务实现深度剖析

    DTCC 2019 | 深度解码阿里数据库实现 数据库内核--基于HLC的分布式事务实现深度剖析-阿里云开发者社区 https://developer.aliyun.com/article/70355 ...

  8. 死锁案例 GAP 锁 没有就插入,存在就更新

    https://mp.weixin.qq.com/s/2obpN57D8hyorCMnIu_YAg 死锁案例八 文 | 杨一 on 运维 转 | 来源:公众号yangyidba 一.前言 死锁其实是一 ...

  9. sql 括号

    <select id="chlTransQueryByChlType" parameterType="map" resultType="java ...

  10. C/C++ Lua通信

    C/C++和Lua是如何进行通信的? http://www.luachina.cn/?post=38 2015-12-28 为了实现Lua和其他语言之间的通信,Lua虚拟机为C/C++提供了两个特性: ...