Как установить модуль по умолчанию params в Javascript

поэтому я пытаюсь написать свой самый первый библиотечный модуль, используя чистый javascript, за исключением того, что я просто попал в ловушку и нуждаюсь в небольшой помощи.

Я использую раскрывая картину модуля из-за своей опрятности. В моем модуле у меня есть парамы по умолчанию в таком объекте.

var defaults = {
   name : 'John Doe',
   age : 'Unspecified,
   height : '5feet'
};

И это работает великолепно, но у меня есть функция init, где пользователь может передать объект с этими ключами. например

Module.init({

     name : 'james',
     age : 12
});

Теперь в моем коде я пытаюсь написать функцию, которая возвращает значения каждого из этих ключей, сравнивая значения по умолчанию и инициализированный. Если ключ/значение существует инициализировано,он должен вернуть его по умолчанию. Я знаю, что я хочу, но пока не знаю, как проверить ключи объектов.

function getValues (defaultObject, initObject){

   //scans the keys and returns the values

}

Так что в коде я могу делать такие вещи, как

var options = getValues(defaultObject, initObject);
var name = options.name;

Это означает, что имя будет либо Джеймс, если указано, или Джон Доу, если нет. Также для высоты, так как я не установил значение, я получаю значение по умолчанию тоже

Спасибо заранее ребятам.

2 ответа

  1. Что нужно сделать, чтобы сравнить оба ключа объектов,и если новый объект имеет ключ, то замените значение в старом. Вот пример:

    function getValues(defaultObject, initObject) {
      for (var key in initObject) {
        if (initObject.hasOwnProperty(key)) {
          defaultObject[key] = initObject[key];
        }
      }
    
      return defaults;
    }
    

    Я надеюсь, что это поможет вам.