2016-12-03 15 views
1

私はfunctionの中にforステートメントを2つ持っています。私は、パラメータを介してforステートメントにコードを渡すことができる必要があります。関数ブロック/関数ポインタにコードブロックを渡すJavaScript

var a = function(paramCode){ 
    for(var eachRow=0; eachRow<20; eachRow++){ 
     for(var eachCol=0; eachCol<20; eachCol++){ 
      paramCode 
     } 
    } 
} 

a({ //the code I want to pass is surrounded in the function pointers 
    if(array[x][y]){ 
     //do something 
    } 
}); 

これは私がやろうとしていることの基本バージョンです。唯一の問題はコンソールに表示されるエラーです。

Uncaught SyntaxError: Unexpected token [ 

私はこのエラーを解決する方法、または私がやろうとしていることをやりなおす方法を知りたいです。

答えて

4

callbackを作成することができます。これは、呼び出し元の関数にパラメーターとして渡される関数です。

var a = function (callback) { 
     for (var eachRow = 0; eachRow < 20; eachRow++) { 
      for (var eachCol = 0; eachCol < 20; eachCol++) { 
       callback(array, eachRow, eachCol); 
      } 
     } 
    }; 

a(function (array, x, y) { 
    if (array[x][y]){ 
     //do something 
    } 
}); 
関連する問題