2

パフォーマンスを向上させるベスト プラクティスはどれですか?

クロージャまたは dojo.lang.hitch を使用していますか?

ありがとう

4

1 に答える 1

3

実際にはクロージャーを返します。つまり、関数を返します。これは、指定された でlang.hitch(scope, method)関数を呼び出します。これは、オブジェクト指向コードでコールバックを定義する場合に特に便利なので、次のように記述できます。methodscope

on(dom.byId("button"), "click", lang.hitch(this, "callback"));

それ以外の:

on(dom.byId("button"), "click", function(scope, method) {
    return function() {
        method.apply(scope);
    }
}(this, this["callback"])); // execute the anonymous function immediately to get a closure

このようなものが動作します:

on(dom.byId("button"), "click", this["callback"]);

ただし、メソッドthis内では.callbackbutton

jsFiddle で追加の詳細を含む完全なコードを参照してください: http://jsfiddle.net/phusick/r7jLr/

于 2012-05-11T09:16:12.453 に答える