Литерал объекта Javascript: инициализация значения?

Я использовал литерал объекта для создания объекта с методами.
Вот простой пример.

var SizeManager = {
    width : 800,
    height : 600,
    ratio : this.width / this.height,
    resize : function (newWidth) {
        width = newWidth;
        height = newWidth / ratio;
    }
}

Моя проблема в том, что SizeManager.ratio возвращает « NaN ». Я совершенно уверен, что это проблема инициализации.
Есть ли способ получить правильное значение коэффициента?
Есть ли способ назначить коструктор или инициализатор литералу объекта?
Является ли определение объекта конструктора единственным способом?

РЕДАКТИРОВАТЬ: конечно, SizeManager - это в идеале синглтон (только один объект), так я использовал литерал объекта.

8
задан bonfo 22 September 2010 в 14:19
поделиться