众所周知,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. mysql:如何解决数据修改冲突(事务+行级锁的实际运用)

    摘要:最近做一个接诊需求遇到一个问题,假设一个订单咨询超过3次就不能再接诊,但如果两个医生同时对该订单进行咨询,查数据库的时候查到的接诊次数都是2次,那两个医生都能接诊,所谓接诊可以理解为更新了接诊次 ...

  2. [Poi2012]Rendezvous

    题目描述 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问,每组询问由两个顶点a.b组成,要求输出满足下面条件的x.y: 从顶点a沿着 ...

  3. 编程小技巧之 Linux 文本处理命令(二)

    合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也.合理的利用 Linux 的命令行工具,可以提高我们的工作效率. 本篇文章是<Linux 文本处理命令> 续篇,在前文的基础上再介 ...

  4. jQuery 文本段落展开和折叠效果

    jQuery 文本段落展开和折叠效果 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" c ...

  5. 报错:java.lang.ClassNotFoundException: io.opentracing.util.GlobalTracer

    报错:java.lang.ClassNotFoundException: io.opentracing.util.GlobalTracer 近来在做一个在线教育的项目,课程信息放在数据库,而视频放在阿 ...

  6. Linux kernel 同步机制

    Linux kernel同步机制(上篇) https://mp.weixin.qq.com/s/mosYi_W-Rp1-HgdtxUqSEgLinux kernel 同步机制(下篇) https:// ...

  7. HDU2222 Keywords Search__AC自动机

    Keywords Search Time Limit: 1000MS   Memory Limit: 131072KB   64bit IO Format: %I64d & %I64u Sub ...

  8. 十六:SpringBoot-自定义启动页,项目打包和指定运行环境

    SpringBoot-自定义启动页,项目打包和指定运行环境 1.自定义启动页 2.打包配置 2.1 打包pom配置 2.2 多环境配置 3.环境测试接口 4.打包执行 4.1 指定模块打包 4.2 运 ...

  9. java8 新特性---列表

  10. 用到的API整理

    时间 淘宝 http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp 获取时间戳,调用效果 { "api" ...