这章主要把保留字说一下
JavaScript 把一些标识符拿出来用做自己的关键字。因此,就不能再在程序中把这些关键字用做标识符了:
break delete function return typeof
case do if switch var
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 extends 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运行环境(客户端、服务器等)都有自己的一个全局属性列表,这一点是需要牢记的。