Я пытаюсь создать плагин с настройками. Там будут настройки по умолчанию и пользовательские настройки. Мне придется как-то объединить эти два в object
. Я попытался следующие:Слить значение по умолчанию с пользовательскими настройками
function MyPlugin(options) {
if (typeof optoins === null || typeof options !== 'object') options = {};
var defaults = {
prop1: true,
prop2: false,
prop3: 0,
prop4: 100,
}
// Set default options
for (var name in defaults) {
!(name in options) && (this.options[name] = defaults[name]);
}
}
var test = new MyPlugin();
Но я получаю сообщение об ошибке сказав:
Uncaught TypeError: Cannot set property 'prop1' of undefined
Что я делаю не так, и как я могу это исправить?
'this.options', вероятно, следует' options'. Также как 'optoins'. И 'typeof' всегда возвращает строку, которая является' 'объектом '' для 'null'. – Oriol
'this.options'! ==' options'. Кроме того, 'typeof optoins === null' не имеет смысла. Может быть, просто: '! Options || typeof options! == 'object'' –
@ AlexanderO'Mara Спасибо! Я не совсем понимаю, что делать с 'this.options! == options' – Jessica