JS标识符、关键字和保留字

本章我们讲解一下 JavaScript 中的几个简单的概念,包括标识符、关键字和保留字。这些基本概念虽然不能直接提升我们的编程能力,但它们是 JavaScript 的基本组成元素。

标识符

标识符(Identifier)就是名称的专业术语。JavaScript 标识符包括变量名、函数名、参数名和属性名。

合法的标识符应该注意以下强制规则:

  • 第一个字符必须是字母、下划线(_)或美元符号($)。
  • 除了第一个字符外,其他位置可以使用 Unicode 字符。一般建议仅使用 ASCII 编码的字母,不建议使用双字节的字符。
  • 不能与 JavaScript 关键字、保留字重名。
  • 可以使用 Unicode 转义序列。例如,字符 a 可以使用“\u0061”表示。

示例

在下面示例中,定义变量 a,使用 Unicode 转义序列表示变量名。

  1. var \u0061 = "字符 a 的 Unicode 转义序列是 \\0061";
  2. document.write(\u0061);

使用转义序列不是很方便,一般常用转义序列表示特殊字符或名称,如 JavaScript 关键字、程序脚本等。

关键字

关键字就是 ECMA-262 规定的 JavaScript 语言内部使用的一组名称(或称为命令)。这些名称具有特定的用途,用户不能自定义同名的标识符。具体说明如表所示。

breakdeleteifthiswhile
casedointhrowwith
catchelseinstanceoftry
continuefinallynewtypeof
debugger(ECMAScript 5 新增)forreturnvar
defaultfunctionswitchvoid

保留字

保留字就是 ECMA-262 规定的 JavaScript 语言内部预备使用的一组名称(或称为命令)。这些名称目前还没有具体的用途,是为 JavaScript 升级版本预留备用的,建议用户不要使用。具体说明如表所示。

abstractdoublegotonativestatic
booleanenumimplementspackagesuper
byteexportimportprivatesynchronized
charextendsintprotectedthrows
classfinalinterfacepublictransient
constfloatlongshortvolatile

ECMAScript 3 将 Java 所有关键字都列为保留字,而 ECMAScript 5 规定较为灵活。

例如,在非严格模式下,仅规定 class、const、enums、export、extends、import、super 为保留字,其他 ECMAScript 3 保留字可以自由使用;在严格模式下,ECMAScript 5 变得更加谨慎,严格限制 implements、interface、let、package、private、protected、public、static、yield、eval(非保留字)、arguments(非保留字)的使用。

JavaScript 预定义了很多全局变量和函数,用户也应该避免使用它们。具体说明如表所示。

argumentsencodeURLInfinityNumberRegExp
ArrayencodeURLComponentisFiniteObjectString
BooleanErrorisNaNparseFloatSyntaxError
DateevalJSONparseIntTypeError
decodeURLEvalErrorMathRangeErrorundefined
decodeURLComponentFunctionNaNReferenceErrorURLError

不同的 JavaScript 运行环境都会预定义一些全局变量和函数,上表列出的仅针对 Web 浏览器运行环境。

无论是在严格模式下还是在非严格模式下,都不要在定义变量名、函数名或者属性名时使用上面列举出的保留字,以免同学们入坑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值