将代码块传递给 functions/function 指针 JavaScript
Passing blocks of code to functions/function pointers JavaScript
我有一个 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
}
});
我有一个 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
}
});