おそらくこれが必要だと思います:
method(my_passed_method)
function method(passed_method){
passed_method(obj);
}
を呼び出しているときは、文字列ではなく関数参照method
を渡していることに注意してください。呼び出しているわけではありません (その後に何もありません)。参照しているだけです。 my_passed_method
()
内method
では、変数を介して関数を呼び出しますpassed_method
。その変数には関数参照が含まれているためです。
JavaScript では、関数はファースト クラス オブジェクトです。変数はそれらを参照したり、変数を渡したりできます。
完全な自己完結型の例を次に示します。
// The function we'll pass in
function functionToPass(arg) {
display("functionToPass's arg is: " + arg);
}
// The function we pass it into
function functionReceivingIt(func) {
func("foo");
}
// Do it
functionReceivingIt(functionToPass);
ライブコピー| ソース