В JavaScript, некоторые идентификаторы являются зарезервированными словами и не могут быть использованы в качестве переменных или имена функций.
Стандарты JavaScript
ECMAScript 3 (ES3) был выпущен в декабре 1999 года.
ECMAScript 4 (ES4) был оставлен.
ECMAScript 5 (ES5) был выпущен в декабре 2009 года.
ECMAScript 6 (ES6) был выпущен в июне 2015 года, а последняя официальная версия JavaScript.
Проходит время, и сейчас мы начинаем видеть полную поддержку ES5 / ES6 во всех современных браузерах.
JavaScript Зарезервированные слова
В JavaScript вы не можете использовать эти зарезервированные слова в качестве переменных, меток или имен функций:
abstract | arguments | boolean | break | byte |
case | catch | char | class* | const |
continue | debugger | default | delete | do |
double | else | enum* | eval | export* |
extends* | false | final | finally | float |
for | function | goto | if | implements |
import* | in | instanceof | int | interface |
let | long | native | new | null |
package | private | protected | public | return |
short | static | super* | switch | synchronized |
this | throw | throws | transient | true |
try | typeof | var | void | volatile |
while | with | yield |
Слова , помеченные * являются новыми в ECMAScript5
JavaScript объекты, свойства и методы
Вы должны также избегать использования имени JavaScript встроенных объектов, свойств и методов:
Array | Date | eval | function | hasOwnProperty |
Infinity | isFinite | isNaN | isPrototypeOf | length |
Math | NaN | name | Number | Object |
prototype | String | toString | undefined | valueOf |
Java Зарезервированные слова
JavaScript часто используется вместе с Java. Вы должны избегать использования некоторых объектов Java и свойства в качестве идентификаторов JavaScript:
getClass | java | JavaArray | javaClass | JavaObject | JavaPackage |
Окна Зарезервированные слова
JavaScript может использоваться вне HTML. Он может быть использован в качестве языка программирования во многих других приложениях.
В HTML вы должны (для переносимости вы должны) избегать использования имени HTML и Windows, объекты и свойства:
alert | all | anchor | anchors | area |
assign | blur | button | checkbox | clearInterval |
clearTimeout | clientInformation | close | closed | confirm |
constructor | crypto | decodeURI | decodeURIComponent | defaultStatus |
document | element | elements | embed | embeds |
encodeURI | encodeURIComponent | escape | event | fileUpload |
focus | form | forms | frame | innerHeight |
innerWidth | layer | layers | link | location |
mimeTypes | navigate | navigator | frames | frameRate |
hidden | history | image | images | offscreenBuffering |
open | opener | option | outerHeight | outerWidth |
packages | pageXOffset | pageYOffset | parent | parseFloat |
parseInt | password | pkcs11 | plugin | prompt |
propertyIsEnum | radio | reset | screenX | screenY |
scroll | secure | select | self | setInterval |
setTimeout | status | submit | taint | text |
textarea | top | unescape | untaint | window |
HTML Обработчики событий
Кроме того, вы должны избегать использования имени всех обработчиков событий HTML.
Примеры:
onblur | onclick | onerror | onfocus |
onkeydown | onkeypress | onkeyup | onmouseover |
onload | onmouseup | onmousedown | onsubmit |