Есть допустим такой плагин. В нем есть приватная функция, которая перезаписывает текущие defaults настройки плагина на те, которые были введены при инициализации конструктора.
(function() {
this.MyPlugin = function() {
this.streamers = null;
var defaults = {
appId: '',
container: '#some-container',
anotherCont: '#some-container-1'
}
if (arguments[0] && typeof arguments[0] === "object") {
this.options = extend(defaults, arguments[0]);
}
}
function extend(defaults, options ) {
var extended = {};
var prop;
for (prop in defaults) {
if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
extended[prop] = defaults[prop];
}
}
for (prop in options) {
if (Object.prototype.hasOwnProperty.call(options, prop)) {
extended[prop] = options[prop];
}
}
return extended;
};
}());
<script>
<script>
var MP= new MyPlugin({
appId: 999999,
container: '#hello-world',
anotherCont: '#hello-world2'
});
</script>
В итоге получается следующее: что в конструктор попадает только appId и все. Как сделать так, чтобы '#hello-world' и '#hello-world2' тоже заменились в defaults. Заранее спасибо за помощь.