Получение имени определенного объекта с помощью конструктора - PullRequest
0 голосов
/ 17 декабря 2018

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

function command(category, help, callback) {
  this.category = category;
  this.help = help;
  this.do = callback;

  cmndlist[category].push(this.name);
}; 

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Объекты не имеют имени или свойства name (если вы не добавили его самостоятельно).Если вы ссылаетесь на имя переменной, которая ссылается на объект, доступ к нему невозможен.

0 голосов
/ 17 декабря 2018

Допустим, вы создаете объект с именем "foo":

var foo = new command("category", "help", "callback");

Если вы хотите добавить foo в массив cmndlist[category], вам просто нужно использовать this:

cmndlist[category].push(this.objectName);

И это будет работать!

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