JavaScript保留字
JavaScript把一些标识符拿出来用做自己的关键字。因此程序中不能在用这些关键字做标识符:
break delete function return typeof
case do if return switch
catch else in this void
continue false instanceof throw while
debugger finally new true with
default for null try
javascript同样保留一些关键字,这些关键字在当前版本并没有使用,但在未来版本可能会用到。ECMAScript 5保留了这些关键字:
class const enum export extneds import super
此外下面这些关键字在普通的javascript代码中是合法的,但在严格模式下是保留字:
implements let private public yield interface package protected static
严格模式同样对下面标识符的使用做了严格限制,它们并不完全是保留字,但不能用做变量名、函数或参数名:
arguments eval
ECMAScript 3将Java所有的关键字都列为自己的保留字,尽管这些保留字在ECMAScript 5中放宽了限制,但是如果希望代码在ECMAScript 3解释器运行的话,应该避免这些字符:
abstract double goto native static boolean enum implements package super byte export import private synchronized char extends int protected throws class final interface public transient const float long short volatile
JavaScript预定义了很多全局变量和函数,应当避免把它们的名字用做变量名和函数名:
arguments encodeURI Infinity Number RegExp Array encodeURIComponent isFinite Object String Boolean Error isNan parseFloat SyntaxError Date eval JSON parseInt TypeError decodeURI EvalError Math RangeError undefined decodeURIComponent Function NaN ReferenceError URIError
JavaScript的具体实现可能定义独有的全局变量和函数,每一种特定的JavaScript运行环境都有自己的一个全局属性列表,这一点需要牢记。