1. ホーム
  2. javascript

[解決済み] JavaScriptのコールバック関数をより深く理解するために

2022-04-24 11:52:08

質問

コールバックとして関数を別の関数に渡して実行させることは理解できるのですが、そのための最適な実装がわかりません。このような、ごく基本的な例を探しています。

var myCallBackExample = {
    myFirstFunction : function( param1, param2, callback ) {
        // Do something with param1 and param2.
        if ( arguments.length == 3 ) {
            // Execute callback function.
            // What is the "best" way to do this?
        }
    },
    mySecondFunction : function() {
        myFirstFunction( false, true, function() {
            // When this anonymous function is called, execute it.
        });
    }
};

myFirstFunctionで、new callback()を返せば、無名関数が実行されるのですが、私にはそれが正しいアプローチとは思えません。

どのように解決するのですか?

次のように言えばいいのです。

callback();

あるいは call の値を調整したい場合は this をコールバック内で使用します。

callback.call( newValueForThis);

関数内部 this は何であろうと newValueForThis があります。