How to pass a callback as a parameter into another function
Also, could be simple as:
if( typeof foo == "function" )
foo();
Yup. Function references are just like any other object reference, you can pass them around to your heart's content.
Here's a more concrete example:
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); // logs "Hello from foo!"
You can also pass in arguments for 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); // logs "1 + 2 = 3"