Я разрабатываю JS-плагин. Все необходимые параметры завернуты в n объект. Поскольку существует много методов, пользователь будет пропустить настройку необходимых параметров. В этом случае я создал объект базовой опции, включающий все параметры. Когда опция пользователя передается в функцию плагина, отсутствующие свойства должны быть установлены на внутреннюю базовую опцию.
Например,Методы метода переопределения Javascript
var option = {
getProp:function(){alert('user prop');} // only one method. No getMsg()
};
//Inside the plugin, two methods
var pluginBaseOption= {
getProp:function(){alert('plugin prop');}
,getMsg : function(){alert('plugin another method');}
};
Функция pluginBaseOption должны перекрываться вариантом, но пропустили функции должны быть остались. Это означает, что конечный объект варианта должен быть:
var finalOption= {
getProp:function(){alert('user prop');} // user passed method instead of plugin method
,getMsg : function(){alert('plugin another method');}
};
Я попытался использовать следующий способ,
function overide(initObj, baseOption) {
initObj.prototype = baseOption;
initObj.prototype.constructor = initObj;
return initObj;
}
Но возвращаемый объект не имеет ни один из перекрытых методов, как он говорит «неопределенный».
* «Если downvote, пожалуйста, укажите причину.» * Комментарии т.п., которые являются * никогда * не конструктивно, и, как правило, контрпродуктивным, а также. –