我是ajax和回调函数的新手,如果我弄错了所有概念,请原谅我。
问题: 我可以将 回调 函数作为参数发送给将执行该回调的另一个函数吗?
function firstFunction(){ //some code //a callback function is written for $.post() to execute secondFunction("var1","var2",callbackfunction); } function secondFunction(var1, var2, callbackfunction) { params={} if (event != null) params = event + '&' + $(form).serialize(); // $.post() will execute the callback function $.post(form.action,params, callbackfunction); }
对。函数引用与任何其他对象引用一样,您可以将它们传递到您的内心。
这是一个更具体的示例:
function foo() { console.log("Hello from foo!"); } function caller(f) { // Call the given function f(); } function indirectCaller(f) { // Call `caller`, who will in turn call `f` caller(f); } // Do it indirectCaller(foo); // alerts "Hello from foo!"
您还可以传递以下参数foo:
foo
function foo(a, b) { console.log(a + " + " + b + " = " + (a + b)); } function caller(f, v1, v2) { // Call the given function f(v1, v2); } function indirectCaller(f, v1, v2) { // Call `caller`, who will in turn call `f` caller(f, v1, v2); } // Do it indirectCaller(foo, 1, 2); // alerts "1 + 2 = 3"