Когда я напечатал это, по-видимому невинный фрагмент кода:Что такое ключевое слово `name` в JavaScript?
values.name
Gedit выделенный имя в качестве ключевого слова. Тем не менее, имя нет на странице по теме an answer to a question about reserved keywords. Я также сделал пару тривиальных тестов в SpiderMonkey, но имя, похоже, действовало как обычный идентификатор.
Поиск в Google тоже не сказал мне ничего. Тем не менее, я нашел a page listing name in "Other JavaScript Keywords".. Моя догадка заключается в том, что имя является функцией или членом какого-либо элемента DOM и не вторгается в пространство имен.
имя действительно ключевое слово в JavaScript? Если да, то что он делает?
'name' является (был) использован как атрибут элемента' a', поэтому он может встречаться в коде DOM. Возможно, именно поэтому ваш редактор подчеркивает это. – Thomas
Фактически gedit выделяет «имя» как свойство. Но в классических цветовых схемах свойства и ключевые слова используют одно и то же определение стиля. Поскольку возможности синтаксического анализа gedit довольно ограничены, хотя только этот небольшой набор важных имен свойств выделяется с помощью этого стиля, например, свойства regexp, такие как 'global',' source', 'lastIndex' и свойства функции, такие как' prototype', 'length 'и' name'. – Robert
В chrome имя ведет себя странно, как глобальный объект от localhost. i.e Внутри функции var name = '...' изменяет исходное имя window.name и, следовательно, 'name; доступен вне области fn. Однако, когда я запускаю его отдельно в консоли, а Plunkr - это отображение неопределенного/или исходного окна Object. В IE его поведение нормальное (i.e undefined/empty в localhost) – Amitesh