《JacaScript权威指南(第五版)》读书笔记(第二章)——词法构造

本文介绍了JavaScript的基本语法结构,包括字符集、大小写敏感性、空白符处理、分号使用、注释方式、直接量类型、标识符命名规则及保留字等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

程序设计语言的此法结构是一套基本规则,用来详细说明如何用这种语言来编写程序。

一、字符集

JavaScript程序是用16位的Unicode字符集编写的,它可以表示地球上通用的每一种书面语言。

JavaScript程序中的每个字符都是用两个字节表示的。

虽然ECMAScript v3标准允许Unicode字符出现在JavaScript程序中的任何地方,但在ECMAScript标准化之前的JavaScript版本通常根本不支持Unicode编码。

二、大小写敏感

JavaScript是一种区分大小写的语言,,而HTML不区分大小写(尽管XHTML是区分大小写的)。

三、空白符和换行符

JavaScript会忽略程序中记号之间的空格、制表符和换行符。

四、可选的分号

JavaScript中的简单语句后通常都有分号(;),如果语句分别放置在不同的行中,就可以省去分号。

五、注释

JavaScript也支持C++型的注释和C型注释。JavaScript会把处于“//”和一行结尾之间的任何文本都当作注释忽略掉。此外“/*”和“*/”之间的文本也会被当作注释。

六、直接量

所谓直接量(literal),就是程序中直接显示出来的数据值。下面列出的都是直接量:

12              // The number twelve
1.2             // The number one point two
"hello world"   // A string of text
'Hi'            // Another string
true            // A Boolean value
false           // The other Boolean value
/javascript/gi  // A "regular expression" literal (for pattern matching)
null            // Absence of an object

在ECMAScript v3中,像数组直接量和对象直接量这样的表达式也是支持的。例如:

{ x:1, y:2 }    // An object initiallzer
[1,2,3,4,5]     // An array initializer

七、标识符

所谓标志符(identifer),就是一个名字。在Javascript中,标志符用来命名变量和函数,或者用作JavaScript代码中某些循环的标签。

JavaScript中合法的标志符的命名规则:

  • 第一个字符必须是字母、下划线(_)或美元符号($)。
  • 数字不允许作为首字符出现,这样JavaScript可以轻易地区分标志符和数字了。
  • ECMAScript v3还允许标志符中有Unicode转义序列
  • 标记符不能和JavaScript中用于其他用途的关键字同名。

注意:在JavaScript1.1以前,美元符号还不是合法的标志符,他们只会由代码生成工具专门使用,因此,在编写代码的时候,应该尽量避免使用美元符号。

八、保留字

表1:保留的JavaScript关键字

breakdoifswitchcypeof
caseelseinthisvar
catchfalseinstanceofthrowvoid
catchfalseinstanceofthrowvoid
continuefinallynewtruewhile
defaultfornulltrywith
deletefunctionreturn

表2列出了其他的保留关键字。虽然现在JavaScript已经不使用这些保留字了,但是ECMAScdptv3保留了它们,以备扩展语言。

表2: ECMA扩展保留的关键字

abstractdoublegotonativestatic
booleanenumimplementspackagesuper
abstractdoublegotonativestatic
booleanenumimplementspackagesuper
byteexportimportprivatesynchronized
charextendsintprotectedthrows
classfinalinterfacepublictransient
constfloatlongshortvolatile
debugger

除了上而列出的正式保留字外,当前ECMAScdpt v4标准的草案正在考虑关键字as、is, namespace和use的用法。虽然目前的JavaScript解释器不会阻止将这四个关键字用作标识符,但是应该避免使用它们。

此外,还应该避免把JavaScript预定义的全局变量名全局函数名用作标识符。如采用这些名字创建变量或函数,就会得到一个错误(如果该属性是只读的)或重定义了已经存在的变量或函数。表3列出了ECMAScript v3标准定义的全局变置和全局函数。不同的JavaScript版本可能会定义其他的全局属性,每个特定的JavaScript嵌入(客户端、服务器端等),会有自己的全局属性扩展列表(注2)。

表3:要避免使用的其他标识符

argumentsencodeURIInfinityObjectString
ArrayErrorisFiniteparseFloatSyntaxError
BooleanescapeisNaNparselntTypeError
DateevalMathRangeErrorundefined
decodeURIEvalErrorNaNReferenceErrorunescape
decocieURlComponentFunctionNumberRegExpURIError
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值