0

私は1つのオブジェクトを持っています:

var callback = {
    onValueChange: function () { },
    onTabPressed: function () { },
    onFocus: function () { }
};

私のページには、 と のようなさまざまなエディターがtextEditorありnumericEditor、それらを個別にバインドします。

function bindEditors() {
    var editors = $(".editor");
    editors.each(function (i) {
        var editor = $(this);
        var editorType = editor.attr("data-editorType");

        if (editorType == "textEditor") {
            bindTextEditor(editor);

        } else if (editorType == "numericEditor") {
            bindNumericEditor();
        }
    });
};
function bindTextEditor(editor) {
    editor.bind("change", function () {
        // calculate value
        callback.onValueChange($(this), value);
    });
};
function bindNumericEditor(editor) {
    editor.bind("change", function () {
        // calculate value
        callback.onValueChange($(this), value);
    });
};

私の質問は:

callbackオブジェクトをバインド関数の外に置いても問題ありませんか? 各バインド関数は、callbackオブジェクトのコピーを作成しませんか? (余分なメモリを使用します)

callbackまたは、オブジェクトをパラメーターとして各バインディング関数に渡す必要がありますか?

4

2 に答える 2