经过一段的js学习,对for循环有了新的理解,在此再次和大家分享!
这次主要讲for循环句头的执行顺序,大家看下面的这个例子。
var i = 0,j = 4; for(i=0;i<j;i++,j--) { if(j==4) { console.log(i +' '+ j); j--; } j++; } console.log(i +' '+ j);
输出结果: 0 4
3 3
输出的过程如下:
先初始化 i=0,j=4;
进行判断 i<j;
执行循环体 if判断,输出 0 4 ;
执行 j++;
执行 for循环的第3句,i++,j--;//此时 i=1,j=3
进行判断 i<j;
执行if,不满足,执行j++; // 此时 i=1,j=4
执行 for循环的第3句,i++,j--; // 此时 i=2,j=3
进行判断 i<j;
执行if,不满足,执行j++; // 此时 i=2,j=4
执行 for循环的第3句,i++,j--; // 此时 i=3,j=3
进行判断 i<j,不满足 跳出循环 输出 3 3
其实执行顺序是:初始化--判断--函数体——然后for循环的第3句--判断——函数体---for循环的第三句--判断……
同时值得注意的是 console.log(i +' '+j); 这个输出 如果写成 console.log(i,j); 只会输出i的值。