问答详情
源自:4-5 重复重复(for循环)

关于两个变量的for循环问题

for(var i = 9,j = 0; i > 0; i--) {
        document.write('张三有'+ i +'元钱,给了李四1元,李四有'+ ++j +'元<br/>');
    }

请问为什么把j的更新条件值放在小括号里数值是从0开始的?不管是++j还是j++都是0~8,而不是1~9

提问者:LY_1124 2016-04-07 16:18

个回答

  • LY_1124
    2016-04-07 17:31:20

    搞清楚了。写在小括号里是从初始值0开始到8,写在输出里是已经循环过一次了的,所以是1~9。是先后顺序问题。

  • 青空之雪
    2016-04-07 17:01:59

    http://img.mukewang.com/570621ad000152ae06500199.jpg

    找到个相似的案例,来源于知乎:“在循环语句中,for(i=0;i<n;i++)和for(i=0;i<n;++i)有什么区别?”

  • qq_haveonce_0
    2016-04-07 16:40:30

    http://img.mukewang.com/57061cb600015ded02940205.jpg

    这是我运行的图片,和你想要的结果一样吧 ,就是你的程序啊   

  • 慕粉3150175
    2016-04-07 16:31:57

    var i=9,j=0;是初始化,只运行一次。在这个for循环中从i=9到i=1运行了9次,但是当i=0时,不满足循环条件,就跳出循环,所以i是从9到1,++j是先加再使用,j是从1到9

  • happygl16
    2016-04-07 16:30:23

    因为计算机是从零位开始的 ,你看java基础里就有