В чем именно проблема? Свойства будут undefined
или вызовы будут работать неправильно?
Если последнее, проблема, скорее всего, заключается в том, что при вызове методов this
больше не будет ссылаться на SPZ.sequenceEditor
, но на ваш callbacks
объект; Чтобы решить эту проблему, используйте вспомогательную функцию bind()
(как определено несколькими платформами) или оберните вызовы самостоятельно:
var callbacks = {
alter: function() {
return SPZ.sequenceEditor.saveAndLoadPuzzle.apply(
SPZ.sequenceEditor, arguments);
},
copy: function() {
return SPZ.sequenceEditor.saveAsCopyAndLoadPuzzle.apply(
SPZ.sequenceEditor, arguments);
},
justSave: function() {
return SPZ.sequenceEditor.saveAndLoadPuzzle.apply(
SPZ.sequenceEditor, arguments);
}
};
apply()
необходим, только если методы принимают аргументы. Подробности см. На MDC .