canMoveLeft()为什么要加for循环?还有返回return值后还会继续循环吗?
function moveLeft(){ if( canMoveLeft(board) ) //canMoveLeft()用于判断是否可以执行左移操作 //canMoveLeft()返回true,下面开始执行左移操作 //虽然已经确定可以移动了,但是我们还需进一步确定该移动到哪个位置 { for( var i = 0;i < 4;i++) for( var j = 1;j < 4;j++) } return false; } function canMoveLeft(board){ //元素是否可以左移需要满足如下情况的一种 //1.左右元素大小相等 //2.左边的格子为空,不含元素 for ( var i = 0 ; i < 4 ; i++ ) for ( var j = 1 ; j < 4 ; j++) if (board[i][j] != 0) if (board[i][j-1] == 0 || board[i][j-1] == board[i][j]) return true; return false; }
代码如上。moveLeft里的if( canMoveLeft(board) )语句调用canMoveLeft(board)函数后,假如canMoveLeft(board)中的for循环第一次就返回了true,那之后的循环还会继续吗?还有moveLeft和canMoveLeft中为什么都要for循环?一直没想明白。。这不是重复了吗?