老师,请问j<i,和j<=9有什么区别

老师,请问j<i,和j<=9有什么区别

<!DOCTYPE html>

<html>

<head>

<title>九九乘法表</title>

</head>

<body>

     <script type="text/javascript">

      var i,j;

      for(i=1;i<=9;i++){

            for(j=1;j<=i;j++){

                document.write(j+"*"+i +"="+ i*j+" ");

            }

            document.write("<br>");

      }

     </script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
卡布琦诺 2019-09-16 17:56:16

1、先来看j<=i的情况

http://img1.sycdn.imooc.com//climg/5d7f5ba20915942107560255.jpg

(1)当i=1时满足for循环的条件,执行循环语句,先输出一个i值,然后执行里面的另一个for循环; 令j=1,j<=i,此时的i=1,符合循环条件,执行循环语句,输出1*1=1;j++之后j的值就变成了2;我们再来看j<=i,就是2<=1是错误的,因此终止循环;这样,第一遍循环就输出了一行,行里面的内容是1*1=1;

(2)再从头执行for循环,i++之后i值变成了2,令i=2执行循环,同样根据上面的来走循环;令j=1,j<=i,此时的i=2,符合循环条件,执行循环语句,输出1*2=1;j++之后,j=2,此时i=2,符合循环条件,执行循环语句,输出2*2=4;j再执行++之后,j=3,此时i=2,不符合条件,终止循环,这样第二行就输出了两个等式,分别是1*2=2 2*2=4

……以此类推,直到i走到9再往下走到10不符合条件的时候,终止整个循环,就输出了一个九九乘法表;

2、再来看j<=9的情况

http://img1.sycdn.imooc.com//climg/5d7f5be509e3af6406580257.jpg

如果是j<=9的话,当i=1的时候,先输出一个i值,然后执行里面的另一个for循环;令j=1,j<=9,此时的i=1,符合循环条件,执行循环语句,输出1*1=1;j++之后j的值就变成了2;我们再来看里面的for循环条件是j<=9,那么,j++时候,j=2符合条件,就会继续执行,直到j的值不符合条件才终止内层循环,也就是只有j++变成10,不符合内层循环的j<=9时,才会终止内层的循环,所以这样的话,第一行可以输出9个等式,就不会出现阶梯式的九九乘法表了

希望可以帮到你!


Miss路 2019-09-15 15:44:51

同学,你好。

最好的解释就是看效果,你换成9试试看。

祝学习愉快!

  • 提问者 慕斯卡8226687 #1
    可是老师为什么会出现那种效果呢,我都试了,但是我是觉得没什么区别,但是它排列发生了改变?是为什么呢
    2019-09-16 13:59:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师