Инициализация объектов в JS
Скорее всего и заголовок данного вопроса выбран не правильный! Есть код
const $ = {};
$.modal = function (options) {
return {
close() {
//какой-то код
},
};
};
const priceModal = $.modal({
property: {
handler() {
priceModal.close();
},
},
});
В коде ошибок нет! Вопрос: как в момент присвоения значения в переменную "priceModal" мы тут же можем с ним работать? Объясните пожалуйста как это работает?
Вот если было бы так как внизу, вопросы бы не возникали:
const priceModal = $.modal({
property: {
handler() {
//какой-то код, не важно
},
},
});
priceModal.какой-то_там_метод_в_полученный_в_результате_присвоения()
Объясните пожалуйста как это работает?!
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
как в момент присвоения значения в переменную "priceModal"
Вызов priceModal.close() происходит не перед присвоением priceModal, а позже, когда вызывается метод handler. К этому времени, переменная priceModal имеет присвоенное значение. Так что все в порядке.