Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2013, 09:42
Интересующийся
Отправить личное сообщение для Ruzarh Посмотреть профиль Найти все сообщения от Ruzarh
 
Регистрация: 01.05.2011
Сообщений: 22

работа с прототипами.
// объект
function Game() {
};

Game.prototype = {
addLog: function (gameId) {
//
},
startGame: function (gameId) {
if (this.addLog(gameId)) {
return true;
}
return false;
}
};

Вопрос в следующем, как мне создать прототипы, что бы они могли ссылаться сами на другие прототипы этого объекта?

скрипт падает this.addLog(gameId)
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2013, 09:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruzarh
/ объект
function Game() {
Не объект, а конструктор

Сообщение от Ruzarh
скрипт падает this.addLog(gameId)
Неправда:
/**
 * @constructor
 */
function Game() {}

Game.prototype = {
    addLog: function (gameId) {
        alert('log:' + gameId);
    },
    startGame: function (gameId) {
        if (this.addLog(gameId)) {
            return true;
        }
        return false;
    }
};

Object.defineProperty(Game.prototype, 'constructor', {
    value: Game
});

var game = new Game();
game.startGame('someId');
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2013, 10:26
Интересующийся
Отправить личное сообщение для Ruzarh Посмотреть профиль Найти все сообщения от Ruzarh
 
Регистрация: 01.05.2011
Сообщений: 22

На самом деле я его на ноде запускал, и там он валится. Я думал что там все одинаково.

var game = new Game(); - это и так было понятно)) просто не написал.
Ответить с цитированием
  #4 (permalink)  
Старый 16.08.2013, 10:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruzarh
На самом деле я его на ноде запускал, и там он валится. Я думал что там все одинаково.
Опять не правда. В NodeJS тот же js-движок что и в Хроме.
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2013, 10:35
Интересующийся
Отправить личное сообщение для Ruzarh Посмотреть профиль Найти все сообщения от Ruzarh
 
Регистрация: 01.05.2011
Сообщений: 22

Ну если бы была не правда, какой смысл мне писать сюда?

За ответ спасибо. Но проблему я так и не решил, он продолжает падать.
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2013, 10:37
Интересующийся
Отправить личное сообщение для Ruzarh Посмотреть профиль Найти все сообщения от Ruzarh
 
Регистрация: 01.05.2011
Сообщений: 22

На самом деле я искал возможно другие методы наследования. Или другую возможную реализацию.
Ответить с цитированием
  #7 (permalink)  
Старый 16.08.2013, 11:02
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от Ruzarh Посмотреть сообщение
Ну если бы была не правда, какой смысл мне писать сюда?

За ответ спасибо. Но проблему я так и не решил, он продолжает падать.
может быть нам посчастливиться увидеть текст ошибки при падении?
Ответить с цитированием
  #8 (permalink)  
Старый 16.08.2013, 11:05
Интересующийся
Отправить личное сообщение для Ruzarh Посмотреть профиль Найти все сообщения от Ruzarh
 
Регистрация: 01.05.2011
Сообщений: 22

проблема оказалась не в объекте, а в малом знании ссылок.

setInterval(Game.sendInfoStartGames, 100);

вызывалось все следующим образом, и this там был ссылкой на глобальный объект
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Front-end разработчик, работа удаленная или в офисе(Нижний Новгород), фуллтайм. VadimZharko Работа 8 29.04.2013 09:03
работа менеджером georgi Работа 1 29.03.2013 14:18
Javascript фронтенд разработчик(долгосрочная, удаленная работа) cpp Работа 11 16.09.2012 12:04
Программист JavaScript постоянная удалённая работа. moisha Работа 4 26.10.2011 19:52
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06