问答详情
源自:3-4 交互逻辑调试

请解答:求讨论,这两个for 循环有什么区别么?如何通过调试查看for循环消耗时间

 这是向右移动的 逻辑判断

第一个是老师的,第二个是我自己写的,(除此之外,代码都一样)运行结果虽然没问题,但是动画效果上有不同,比如:由 00 移动到03时 会卡顿一下,且新出现的2或者4会在动画完成之前开始出现

个人猜想: setTimeout("updateBoardView()",200);

    1.这两个循环时间消耗不同,后者比前者慢

    2. 前者先遍历 同行最远的格子,后者先遍历最近的格子,所以说在遍历到最远格子的时候有时间损耗,

for( var i = 0 ; i < 4 ; i ++ )

        for( var j = 2 ; j >= 0 ; j -- )

            if( board[i][j] != 0 )

                for( var k = 3 ; k > j ; k -- ){ 赋值操作}

for( var i = 0 ; i < 4 ; i ++ )

        for ( var j = 0 ; j < 3 ; j ++ )

            if( board[i][j] != 0 )

                for( var k = j + 1 ; k < 4 ; k ++ ) { 赋值操作}

谢谢!

提问者:哟_笨小孩 2015-02-19 16:00

个回答

  • 慕函数6472736
    2015-12-06 13:16:08

    for( var i=1; i<4; i++)
      for( var j=0; j<4; j++)
        document.write(i+":"+j+"<br/>");
        
    for( var j=0; j<4; j++)
      for( var i=1; i<4; i++)
        document.write(i+":"+j+"<br/>");

    同样的问题,求解? 虽然这两个循坏得到的结果是一样(顺序不一样),但确严重影响运行结果。