被朋友问道一个有意思的问题,刚开始一下每太注意,就打错了,大家注意避坑,请看下面的例题
for(i=0,j=0;i<6,j<10;i++,j++){//这里的i,j都是0,但是i小于6,j是小于10的,且都是自增
var sun=i+j
console.log("i",i);
console.log("j",j);
}
console.log(sun); //求sun 的和???
作者猜测:这里的i,j都是0,但是i小于6,j是小于10的,而且都是自增,我估计有一伙人肯定会认为,i小于0都跳出循环了吧,i肯定是不会在自增的,j会自增到9。。。。然后又想想,总感觉哪里不对,i都跳出循环了,j应该也不会自增的,所以应该都跳出循环了,sun就是12 。 若没猜错给博主点个赞, 扣个666, 哈哈哈哈
回归正题:先让你们看看打印结果你们就明白了
![](https://i-blog.csdnimg.cn/blog_migrate/fe2f48e3235999612d0c2b4f46609647.png)
看到没有,i和j都自增到9了,并不是i自增到6就跳出循环了,要看最后一个变量j是小于几,j(最后一个变量)小于几就自增到几跳出
若是不信咱们可以在试试,三个变量 for循环该怎么办
for(i=0,a=0,j=0;i<6,a<11,j<10;i++,a++,j++){
var sun=i+j+a
console.log("i:",i);
console.log('a:',a);
console.log("j:",j);
}
console.log("sun",sun);
我都不多说了 直接看看打印结果,这里a是小于11的,结果a是自增到10就和j(最后一个变量)跳出循环了
![](https://i-blog.csdnimg.cn/blog_migrate/d49915de2dc1dc53b134f6a973a21b32.png)