私は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
または、オブジェクトをパラメーターとして各バインディング関数に渡す必要がありますか?