JavaScript 保留關鍵字
JavaScript 保留關鍵字
JavaScript?保留關鍵字
在 JavaScript 中,一些標識符是保留關鍵字,不能用作變量名或函數(shù)名。
JavaScript 標準
所有的現(xiàn)代瀏覽器完全支持 ECMAScript 3(ES3,JavaScript 的第三版,從 1999 年開始)。
ECMAScript 4(ES4)未通過。
ECMAScript 5(ES5,2009 年發(fā)布),是 JavaScript 最新的官方版本。
隨著時間的推移,我們開始看到,所有的現(xiàn)代瀏覽器已經(jīng)完全支持 ES5。
JavaScript 保留關鍵字
Javascript 的保留關鍵字不可以用作變量、標簽或者函數(shù)名。有些保留關鍵字是作為 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 內(nèi)置的對象、屬性和方法的名稱作為 Javascript 的變量或函數(shù)名:
Array ? ?Date ? ?eval ? ?function ? ?hasOwnProperty ? ?
Infinity ? ?isFinite ? ?isNaN ? ?isPrototypeOf ? ?length ? ?
Math ? ?NaN ? ?name ? ?Number ? ?Object ? ?
prototype ? ?String ? ?toString ? ?undefined ? ?valueOf ? ?
Java 保留關鍵字
JavaScript 經(jīng)常與 Java 一起使用。您應該避免使用一些 Java 對象和屬性作為 JavaScript 標識符:
getClass ? ?java ? ?JavaArray ? ?javaClass ? ?JavaObject ? ?JavaPackage ? ?
Windows 保留關鍵字
JavaScript 可以在 HTML 外部使用。它可在許多其他應用程序中作為編程語言使用。
在 HTML 中,您必須(為了可移植性,您也應該這么做)避免使用 HTML 和 Windows 對象和屬性的名稱作為 Javascript 的變量及函數(shù)名:
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 事件句柄的名稱作為 Javascript 的變量及函數(shù)名。
實例:
onblur ? ?onclick ? ?onerror ? ?onfocus ? ?
onkeydown ? ?onkeypress ? ?onkeyup ? ?onmouseover ? ?
onload ? ?onmouseup ? ?onmousedown ? ?onsubmit ? ?
非標準 JavaScript
除了保留關鍵字,在 JavaScript 實現(xiàn)中也有一些非標準的關鍵字。
一個實例是?const?關鍵字,用于定義變量。 一些 JavaScript 引擎把 const 當作 var 的同義詞。另一些引擎則把 const 當作只讀變量的定義。
Const 是 JavaScript 的擴展。JavaScript 引擎支持它用在 Firefox 和 Chrome 中。但是它并不是 JavaScript 標準 ES3 或 ES5 的組成部分。建議:不要使用它。