Сведения о вопросе

None

12:57, 26th August, 2020

Теги

Зарезервированные ключевые слова в JavaScript

Просмотров: 459   Ответов: 8

Какие ключевые слова JavaScript (имена функций, переменные и т.д.) зарезервированы?



  Сведения об ответе

SKY

17:45, 1st August, 2020

Вот мое стихотворение, которое включает в себя все зарезервированные ключевые слова в JavaScript, и посвящается тем, кто остается честным в данный момент, а не просто пытается забить:

Let this long package float, 
Goto private class if short.
While protected with debugger case,  
Continue volatile interface.
Instanceof super synchronized throw, 
Extends final export throws.  

Try import double enum?  
- False, boolean, abstract function, 
Implements typeof transient break!
Void static, default do,  
Switch int native new. 
Else, delete null public var 
In return for const, true, char
…Finally catch byte.


  Сведения об ответе

PIRLO

07:51, 18th August, 2020

Мы должны ссылаться на фактические источники информации, а не только на топовые хиты google.

http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Reserved_Words

JScript 8.0: http://msdn.microsoft.com/en-us/library/ttyab5c8.aspx


  Сведения об ответе

piter

10:38, 2nd August, 2020

Чтобы дополнить ответ Бенка, см. Стандарт ECMA-262 . Это официальные сдержанные слова, но только педант игнорирует их выполнение, чтобы соблюсти стандарт. Зарезервированные слова для наиболее популярных реализаций, то есть firefox и internet explorer, см. В ответе benc.

Зарезервированные слова в EMCAScript-262 ключевых слов с зарезервированных слов с NullLiteral , BooleanLiteral и S, где ключевые слова

break     do        instanceof  typeof
case      else      new         var
catch     finally   return      void
continue  for       switch      while
debugger  function  this        with
default   if        throw
delete    in        try

будущее зарезервированное слово s-это

abstract  export      interface  static
boolean   extends     long       super
byte      final       native     synchronized
char      float       package    throws
class     goto        private    transient
const     implements  protected  volatile
double    import      public 
enum      int         short

NullLiteral -это

null

и BooleanLiteral s-это

true
false


  Сведения об ответе

прога

06:32, 23rd August, 2020

Я как раз читал об этом в JavaScript & jQuery: пропавшее руководство :

Не все из этих зарезервированных слов вызовут проблемы во всех браузерах,но лучше всего избегать этих имен при именовании переменных.

JavaScript ключевые слова: break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with .

Зарезервировано для дальнейшего использования: abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield .

Предопределенные глобальные переменные в браузере: alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window .


  Сведения об ответе

9090

18:41, 1st August, 2020

Ниже приведен не зависящий от браузера и языковой версии способ определить, является ли конкретная строка ключевым словом в движке JavaScript. Кредиты к этому ответу , который обеспечивает ядро решения.

function isReservedKeyword(wordToCheck) {
    var reservedWord = false;
    if (/^[a-z]+$/.test(wordToCheck)) {
        try {
            eval('var ' + wordToCheck + ' = 1');
        } catch (error) {
            reservedWord = true;
        }
    }
    return reservedWord;
}


  Сведения об ответе

piter

13:00, 1st August, 2020

Ни один из текущих ответов не предупреждает, что независимо от ES-диалекта, браузеры, как правило, имеют свои собственные списки зарезервированных ключевых слов, методов и т. д. поверх того, что диктует ES.

Например, IE9 запрещает использование логических имен, таких как: addFilter , removeFilter (они, среди прочего, являются зарезервированными методами).

Увидеть http://www.jabcreations.com/blog/internet-explorer-9 более подробный перечень 'currently known', характерные для ИЕ9. Я еще не нашел ни одной официальной ссылки на них на msdn (или где-либо еще).


  Сведения об ответе

davran

19:03, 4th August, 2020

Вот список из книги Eloquent JavaScript:

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extend
  • false
  • finally
  • for
  • function
  • if
  • implements
  • import
  • in
  • instanceof
  • interface
  • let
  • new
  • null
  • package
  • private
  • protected
  • public
  • return
  • static
  • super
  • switch
  • this
  • throw
  • true
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield


  Сведения об ответе

lesha

00:42, 24th August, 2020

ответ Бенка превосходен, но за мои два цента мне нравится Страница w3schools на этом сайте:

http://www.w3schools.com/js/js_reserved.asp

В дополнение к перечислению ключевых слов, зарезервированных стандартом, он также содержит длинный список ключевых слов, которых следует избегать в определенных контекстах; например, не использовать имя alert при написании кода для запуска в браузере. Это помогло мне понять, почему некоторые слова выделялись в качестве ключевых слов в моем редакторе, хотя я знал, что они не были ключевыми словами.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться