Primero, tu código tal cual tiene un pequeño problema. En
alert('esto en comilla simples'+dato1+"esto en comillas dobles"); la variable dato1 no está definida de ninguna forma.
Así que usaré como ejemplo esta llamada:
Código javascript
:
Ver originalf1("uno", "dos", "tres", function(dato1, dato2){
alert("Hola, " + dato1 + " y " + dato2);
});
Y la función f1 llama a la función recibida pasándole los dos parámetros primeros (según el ejemplo "uno" y "dos").
Hay tres formas de hacerlo:
Código javascript
:
Ver original//Forma 1
function f1(a, b, c, callback) {
callback(a, b);
}
//Forma 2
function f2(a, b, c, callback) {
callback.call(this, a, b);
}
//Forma 3
function f3(a, b, c, callback) {
callback.apply(this, [a, b]);
}
Las formas 2 y 3 te permiten además controlar el contexto de referencia donde debe ejecutarse la función. En lugar de this le puedes pasar como contexto otro objeto.