我有一個目標:Javascript對象參考模式
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
對象作爲參數傳遞給每個綁定函數嗎?