我有一个function
,其中有几个for
语句。我需要能够通过参数将代码传递给for语句。
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 [
我很想知道如何解决该错误,或者仍然可以做自己想做的事情。
最佳答案
您可以创建一个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
}
});