2015-03-06 4 views
0

Можно ли получить доступ к текущему объекту во время создания в javascript?Доступ к объекту во время создания возможно?

Пример:

var data = {x: 1, z:x} 

ИЛИ

var data = {x: 1, z: data.x} 

Этот код делает acutally не работу, но мне интересно, если это возможно, каким-то образом?

Заранее спасибо.

+2

Использования функции конструктора – Hacketo

+0

@Hacketo: но это не более эквивалентно литерала объекта (прототип наследования, повторной конструктивности и т.д.) – Bergi

ответ

1

С помощью функции конструктора

var data = function() { 
    if (!(this instanceof data)) { 
     return new data(); 
    } 

    this.y = 3; 
    this.x = this.y; 
} 

var obj = new data() 

EDIT: Лучше практики

+0

Это был быстрым! Благодаря! – Freddy

+0

Что касается вашего редактирования: это ли синглтон? – Freddy

+2

@Freddi: Нет, это просто позволяет вам называть 'data' без' new'. То есть если вы вызываете 'data()', он будет внутренне вызывать 'return new data();'. –

Смежные вопросы