失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > for(i=0 j=0;i10 j6;i++ j++)问题

for(i=0 j=0;i10 j6;i++ j++)问题

时间:2019-08-16 19:23:51

相关推荐

for(i=0 j=0;i10 j6;i++ j++)问题

今天发现了一个有趣的现象,应该是知识的遗漏点,那就是JavaScript中的for循环。

一般for循环的语法为:

for(语句1;语句2;语句3){被执行的代码块;}

语句 1 在循环(代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

实例:

var x=0;for (var i=0; i<5; i++){x=x + i ;}

从上面的例子中,您可以看到:

语句1 在循环开始之前设置变量 (var i=0)。

语句2 定义循环运行的条件(i 必须小于 5)。

语句3 在每次代码块已被执行后增加一个值 (i++)。

重点解释一下每个语句的使用规则:

语句1

初始化变量是可选的,也就是说可以不写,如var i=0; for(; i<5; i++)可以写任意多个,如for(i=0, j=5; i<j; i++)

语句2

执行条件是可选的(若不填,循环中必须要有break,不然死循环)

语句3

改变初始变量的值也是可选的

但今天看到一道题,我觉得很有趣,题目是这样的:

下列JavaScript代码执行后,alert()的结果是什么?

for(i=0,j=0; i<10,j<6; i++,j++){k = i + j;}alert(k);

经测试发现:

for(i=0,j=0; i<10,j<6; i++,j++){k = i + j;}alert(k); //弹出10

for(i=0,j=0; i<6,j<10; i++,j++){k = i + j;}alert(k); //弹出18

原因:语句2 循环继续的判断依据以分号前的最后一项为准,即判断j<6(j<10)符不符合条件。

如果觉得《for(i=0 j=0;i10 j6;i++ j++)问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。