为了账号安全,请及时绑定邮箱和手机立即绑定

请解答:求讨论,这两个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 ++ ) { 赋值操作}

谢谢!

正在回答

1 回答

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/>");

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

0 回复 有任何疑惑可以回复我~
#1

慕函数6472736

后来核对了一下代码,发现for循坏没有问题(只要逻辑对就行,没有特定规则),出现问题的关键是noBlcokCheckLR(i,k,j,board)这里的参数传入顺序、showMoveAnimation(i,j,i,k)这个参数顺序会影响实现效果。
2015-12-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信