Как создать метод-конструктор? Здравствуйте! Пишу небольшую игру основанную на 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"); } };
Чтобы создать метод-конструктор в объекте 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" на вашей странице перед добавлением дочернего элемента. Если вы все еще испытываете проблемы, убедитесь, что в консоли нет ошибок и что код выполняется без ошибок.
Чтобы создать метод-конструктор в объекте 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" на вашей странице перед добавлением дочернего элемента. Если вы все еще испытываете проблемы, убедитесь, что в консоли нет ошибок и что код выполняется без ошибок.