2016-12-03 77 views
1

我有一個function,它有幾個for語句。我需要能夠通過參數將代碼傳遞給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 
    } 
});