Я пытаюсь сделать функцию, которая может либо показать окно подтверждения, либо форму диалога. Обе эти функции находятся в одном окне, поэтому я могу повторно использовать код для обоих.Класс с несколькими функциями в JavaScript
Я предполагаю, что это должно быть что-то вроде
const MyWindow = function (options) {
};
MyWindow.prompt = function (options) {
..
};
MyWindow.confirm = function (options) {
...
}
MyWindow.alert = function (options) {
...
}
Проблема заключается в том, что я не знаю, где нарисовать окно.
Я попытался создать новый метод
const MyWindow = function (options) {
};
MyWindow.createElements = function (options) {
this.window = document.createElement('div');
this.window.style.height = 300;
this.window.style.width = 300;
document.body.insertBefore(this.window, document.body.childNodes[0]);
};
MyWindow.prompt = function (options) {
this.createElements();
this.window.style.background-color = 'red';
};
но this.createElements()
и this.window
не доступны из функции prompt()
.
Как вы обычно развиваете нечто подобное? Должен ли я использовать классы ES6?
Вы используете функцию 'MyWindow', как будто это объект (это возможно, хотя). Сделать объект вместо функции. – Teemu
Является ли 'MyWindow' предполагаемым модулем singleton или конструктором для экземпляров? – Bergi
Да, вы должны использовать классы ES6. – Bergi