Что такое ключевое слово `name` в JavaScript? - PullRequest
15 голосов
/ 19 апреля 2010

Когда я набрал этот явно невинный фрагмент кода:

values.name

gedit выделено name в качестве ключевого слова. Однако name не указано на страницах, на которые указывает ответ на вопрос о зарезервированных ключевых словах . Я также сделал пару тривиальных тестов в SpiderMonkey, но name , казалось, действовал как обычный идентификатор.

Поиск в Google тоже ничего мне не сказал. Однако я нашел страницу со списком name в "Других ключевых словах JavaScript". Я предполагаю, что name является функцией или членом некоторого элемента DOM не вмешивается в пространство имен.

Является ли имя действительно ключевым словом в JavaScript? Если да, что он делает?

Ответы [ 3 ]

16 голосов
/ 19 апреля 2010

Это не зарезервированное слово javascript, это атрибут html. Любой элемент DOM может иметь имя. Похоже, ваш синтаксический редактор все равно выделит его.

3 голосов
/ 02 января 2013

(я знаю, что это спросили 2 года назад, но, ...) Это также случилось со мной, например, это ниже не будет работать.

name = document.getElementById('nombre');
//something else
name.className = 'thinking';

Вместо этого я изменил его на

username = document.getElementById('nombre');
//something else
username.className = 'thinking';

и это сработало! Да, все в порядке, но я нахожу это довольно интересным, в том числе из-за атрибута name тега a. Что-то, на что нужно обратить внимание.

1 голос
/ 18 июня 2014

Это не зарезервированное слово, это переменная (это window.name), хотя я не уверен, что оно определяется.

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