Объекты как свойства в Javascript - PullRequest
0 голосов
/ 04 октября 2011

Я определяю объект javascript и задаю его свойства и методы следующим образом:

function MyObject()
{
  this.prop1 = 1;
  this.prop2 = 2;

  this.meth1=meth1;
}

function meth1()
{
  // do soemthing
}

Все в порядке.У меня вопрос, как я могу иметь объект быть свойством MyObject?Я на самом деле хочу, чтобы «ассоциативный массив» был как-то в свойствах:без везения, obj не интерпретируется как свойство.

Есть какие-нибудь подсказки относительно того, что я делаю неправильно?

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы имеете в виду:

function MyObject() {
  this.obj = {'x': 'val1', 'y': 'val2'};

  this.prop1 = 1;
  this.prop2 = 2;

  this.meth1=meth1;
}

Теперь вы можете сказать:

new MyObject().obj.x  //`val1`

Альтернативный синтаксис:

this.obj = {};
this.obj.x = 'val1';
this.obj.y = 'val2';
0 голосов
/ 04 октября 2011

Часто проще всего использовать буквенное обозначение объекта:

function MyObject()
{
  // obj as an object literal
  this.obj = {
     x: "val1",
     y: "val2",
     z: "val3"
  };

  this.prop1 = 1;
  this.prop2 = 2;

  this.meth1=meth1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...