众所周知,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. 【Oracle】 并行查询

    所谓并行执行,是指能够将一个大型串行任务(任何DML,一般的DDL)物理的划分为叫多个小的部分,这些较小的部分可以同时得到处理.何时使用并行执行:1.必须有一个非常大的任务 2.必须有充足的资源(CP ...

  2. Loadrunner录制脚本与编写脚本的区别

    异同点: 1.录制的和编写的脚本质量上没有区别 2.性能脚本关心的是用户和服务器的数据交互,从这点上来看,录制和编写也没有区别,手动编写脚本也可以写出很真实的脚本 3.能录制的情况下,就录制吧,谁每天 ...

  3. oracle rac搭建单实例DG步骤(阅读全篇后再做)

    环境介绍 主库: 主机名 rac01 rac02 实体IP 10.206.132.232 10.206.132.233 私有IP 192.168.56.12 192.168.56.13 虚拟IP 10 ...

  4. mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)

    从服务器上迁移数据库到本地localhost 执行  函数  时报错, mysql 1449 : The user specified as a definer ('usertest'@'%') do ...

  5. 开心!再也不用担心 IntelliJ IDEA 试用过期了

    背景 前段时间 Review 团队小伙伴代码,发现当他把鼠标挪到一个方法上时,就自动显示了该方法的所有注释信息,像下图这样,他和我用的 IDE 都是 IntelliJ IDEA. 而我还按古老的方式, ...

  6. Cisco之show基础命令

    #show  version:显示版本信息等 #show running-config:显示当前(活动,并不一定保存)的配置 #show interfaces fastEthernet 0/1:进入接 ...

  7. JavaScript中的迭代器和生成器[未排版]

    JavaScript中的迭代器 在软件开发领域,"迭代"的意思是按照顺序反复多次执行一段程序,通常会有明确的终止条件. ECMAScript 6规范新增了两个高级特性:迭代器和生成 ...

  8. Avoid catching exceptions inside atomic! You may need to manually revert model state when rolling back a transaction. 避免异常程序不抛错误 回滚 导致 自增id不连续。

    https://docs.djangoproject.com/en/3.0/topics/db/transactions/ You may need to manually revert model ...

  9. file descriptor 0 1 2 一切皆文件 stdout stderr stdin /dev/null 沉默是金 pipes 禁止输出 屏蔽 stdout 和 stderr 输入输出重定向 重定向文件描述符

    movie.mpeg.001 movie.mpeg.002 movie.mpeg.003 ... movie.mpeg.099   $cat movie.mpeg.0*>movie.mpeg   ...

  10. java判断是否为整数

    /** * 判断是否为整数 * * @param str 传入的字符串 * @return 是整数返回true,否则返回false */ public static boolean isInteger ...