JavaScript reserved keywords and dangerous variable names Be careful when defining variable names
JavaScript standards
All modern browsers fully support ECMAScript 3 (ES3, the third version of JavaScript, from 1999).
ECMAScript 4 (ES4) failed.
ECMAScript 5 (ES5, released in 2009), is the latest official version of JavaScript.
Over time, we are starting to see that all modern browsers have full support for ES5.
JavaScript reserved keywords
Javascript reserved keywords cannot be used as variable, label or function names. Some reserved keywords are used by Javascript for future extensions.
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 implementations
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
* The keywords marked are newly added in ECMAScript5.
JavaScript Objects, Properties and Methods
You should also avoid using the names of JavaScript’s built-in objects, properties and methods as JavaScript variable or function names:
Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf
encodeURI encodeURIComponent escape event fileUpload
focus form forms frame innerHeight
innerWidth layer 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 event handler
In addition, you should also Avoid using HTML event handler names as Javascript variable and function names.
Example:
onblur onclick onerror onfocus
onkeydown onkeypress onkeyup onmouseover
onload onmouseup onmousedown onsubmit