Почему Javascript не включает зарезервированные ключевые слова, такие как «Объект», «Массив», «Функция», «Число» ...? - PullRequest
2 голосов
/ 09 октября 2010

Некоторые специальные слова, такие как Object, Array, Function, Method, Number и т. Д., Не относятся к ключевым словам в Javascrpt: Зарезервированные ключевые слова в Javascript .

Но я должен использовать их осторожно, это не НОРМАЛЬНЫЕ слова, такие как object, array, method, number, foo ...

Я хотел бы знать, сколько у нас таких СПЕЦИАЛЬНЫХ слов? Пожалуйста, дайте мне список.

Ответы [ 2 ]

4 голосов
/ 09 октября 2010

На самом деле все сводится к одному: JavaScript чувствителен к регистру. Именно поэтому он различает Object и object.

Object, Array, Function и Number не являются ключевыми словами и не являются в точности «особыми» (как вы думаете, они подразумевают) словами.

Они не более чем встроенные типы функций / классов в JavaScript (вы можете сделать для них typeof и посмотреть). Сейчас вы не часто используете их часто, поскольку существуют синтаксические альтернативы для создания объектов каждого из этих типов, например:

var obj = {};
var func = function() {};
var arr = [];
var num = 123;

Остальные, о которых вы упоминаете (object, array, method, number, foo), не являются ключевыми словами или «специальными» словами либо просто потому, что, как я говорю, JavaScript чувствителен к регистру, они ничего не значат в JavaScript по сравнению с их заглавными буквами. Если, конечно, вы не дадите им значение сами, объявив переменные с этими именами.

3 голосов
/ 09 октября 2010

Просто для пояснения: " function " - зарезервированное слово, " Function " - это предопределенный объект в глобальной области видимости.

Специальное слов, которые вы перечислите (хотя я не уверен насчет «метода»?), Являются предопределенными классами и объектами JavaScript в глобальной области видимости.Они не обязательно зарезервированные слова , потому что они не являются частью синтаксиса языка и в некоторых случаях могут быть переопределены.Но да, обычно они не должны использоваться и должны рассматриваться как «зарезервированные слова».См. Также Глобальные свойства и методы .

РЕДАКТИРОВАТЬ: Со ссылкой на список, представленный на developer.mozilla.org / ru / JavaScript / Reference / Global_Objects - похоже, это список core объектов JavaScript, независимо от того, работает движок JavaScript в браузере или нет.Это подсписок списка, представленного на About.com.Хотя почему «Boolean» пропущен из списка глобальных объектов на About.com, я не знаю - это действительно упущение?

В списке перечислены другие объекты, определенные браузером / DOM (Mozilla).в справочнике Gecko DOM .

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