請解答:求討論,這兩個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-12-06
同樣的問題,求解? 雖然這兩個循壞得到的結果是一樣(順序不一樣),但確嚴重影響運行結果。