Как вы получаете имя объекта в JavaScript? - PullRequest
1 голос
/ 31 декабря 2010

Если у вас есть объект myObject, какую функцию вы можете использовать, чтобы получить его имя?Я пробовал что-то вроде myObject.name ...

Ответы [ 3 ]

7 голосов
/ 31 декабря 2010

Вы не можете получить имя переменной, в которой был сохранен объект. На самом деле, несколько переменных могут ссылаться на один объект (каким будет «имя»?), Вероятно, именно по той причине, которую вы спросили.

Если это важно, я бы предложил установить myObject.name при создании объекта и последующем доступе к нему, или, возможно, добавить дополнительный параметр в вашу функцию, который принимает необходимую информацию.

2 голосов
/ 31 декабря 2010

Вы не можете.

Даже если бы вы могли, какую из множества переменных, которые могли бы указывать на объект, вы бы хотели?

1 голос
/ 31 декабря 2010

Был похожий вопрос по этому поводу в PHP. Короткий ответ - «Вы не можете», но более длинный - «Вы можете в определенной степени».

Вот пример:

test1={};
test2={};
test1b=test1;

function findName(ref){
   for(var i in window)
      if(window[i]===ref)
         alert('Found: '+i);
}

findName(test1);

Результатом примера будут два разных всплывающих окна: одно с «test1», а другое с «test1b».

Опять же, это пример , не нужно ругаться на использование глобальных переменных и т. Д. *

Редактировать: Если подумать, я почти уверен, что мне нужно что-то подобное для отладки, и, похоже, все получилось хорошо. Но имейте в виду, что это не то, на что вы должны полагаться.

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