var person = {
firstName: "John", // здесь могут быть внутренние переменные
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
// и потом где надо
let name = person.fullName();
Еще можно объявить функцию, которая будет возвращать этот объект и в эту функцию передавать некие параметры, например, урлы. Тогда объект с методами будет кастомизирован.
function yo(url){
let fullUrl = 'www.' + url; // внутренняя, изолированная от внешнего мира переменная.
// возвращаем объект с набором методов
return {
getData : function( fullUrl){
// здесь реализация ф-ции, которая будет использовать урл который мы передали в ф-цию, которая вернула нам объект.
}
}
}
// потом в коде
let dataGetter = yo('ya.ru');
let dataGetter2 = yo('pornhub.ru');
// теперь мы имеем два модуля с нужными нам функциями, но у каждого может быть свой конфиг
dataGetter.getData(); // dataGetter имеет внутри одни настройки
dataGetter2.getData();// dataGetter2 имеет внутри свои настройки