9

何かを行うためのより良いスタイル/正しい方法と見なされるものに興味があります。

JavaScriptでは、次のことができます。

function one() {
    two(param, function(ans){
        // do more work
    });
}

function two(param, callback) {
    var answer;
    //do work
    callback(answer);
}

しかし、答えを返すだけで同様の結果が得られます。

function one() {
    var ans = two(param);
    // do more work
}

function two(param, callback) {
    var answer;
    //do work
    return answer;
}

「答え」だけが必要な場合は、コールバック関数をパラメーターなどとして渡すよりも、2 番目のバージョンを使用してその値を返す方がよいと思います。私の考えは正しいですか? 2つの相対的なパフォーマンスに関するアイデアはありますか? 繰り返しますが、リターン バージョンの方がパフォーマンス面で優れていると思います。

4

3 に答える 3

5

リターンを使用する必要があります。

コールバックは、非同期アクションを実行する場合に適しています。それ以外の場合は、無駄なオーバーヘッドになります。

于 2013-08-09T16:39:19.160 に答える
1

間違いなく return を使用する必要があります。コールバックは、関数または Ajax 呼び出しなどの非同期イベントの完了後に、カスタマイズされたコードを実行する場合に使用します。

于 2013-08-09T16:37:52.047 に答える