Как создать метод-конструктор? Здравствуйте! Пишу небольшую игру основанную на MVC. Возник вопрос. Как создать внутри Model свойство объект какого-либо элемента мира. И как правильно его вызвать чтобы получаемый объект был объектом Model. Делаю та, но объект не добавляется. var model = {
CreateGameObject: function(elem) {
var gameArea = this.area;
this.elName = elem;
this.makeDiv = function() {
var parentElem = document.getElementById("game-area");
console.log(parentElem);
var div = document.createElement("div");
div.setAttribute("id", elem);
div.className = "wall";
parentElem.appendChild(div)
}
},
mainMethod: function(){
var obj1 = new this.CreateGameObject("obj1");
}
};

21 Авг 2019 в 07:03
189 +1
0
Ответы
1

Чтобы создать метод-конструктор в объекте Model, вы можете использовать ключевое слово "function". Например:

var model = {
CreateGameObject: function(elem) {
this.elName = elem;
this.makeDiv = function() {
var parentElem = document.getElementById("game-area");
var div = document.createElement("div");
div.setAttribute("id", elem);
div.className = "wall";
parentElem.appendChild(div)
}
},
mainMethod: function(){
var obj1 = new this.CreateGameObject("obj1");
obj1.makeDiv();
}
};

Вызывая new this.CreateGameObject("obj1"), вы создаете экземпляр объекта с именем "obj1", и затем вызывая метод makeDiv() на этом объекте, вы создаете и добавляете соответствующий элемент мира.

Пожалуйста, убедитесь, что у вас есть элемент с id "game-area" на вашей странице перед добавлением дочернего элемента. Если вы все еще испытываете проблемы, убедитесь, что в консоли нет ошибок и что код выполняется без ошибок.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 795 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир