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

xiaoxiao2021-02-28  24

目录

一、字符集二、大小写敏感三、空白符和换行符四、可选的分号五、注释六、直接量七、标识符八、保留字

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

一、字符集

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关键字

breakdoifswitchcypeofcaseelseinthisvarcatchfalseinstanceofthrowvoidcatchfalseinstanceofthrowvoidcontinuefinallynewtruewhiledefaultfornulltrywithdeletefunctionreturn

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

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

abstractdoublegotonativestaticbooleanenumimplementspackagesuperabstractdoublegotonativestaticbooleanenumimplementspackagesuperbyteexportimportprivatesynchronizedcharextendsintprotectedthrowsclassfinalinterfacepublictransientconstfloatlongshortvolatiledebugger

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

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

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

argumentsencodeURIInfinityObjectStringArrayErrorisFiniteparseFloatSyntaxErrorBooleanescapeisNaNparselntTypeErrorDateevalMathRangeErrorundefineddecodeURIEvalErrorNaNReferenceErrorunescapedecocieURlComponentFunctionNumberRegExpURIError
转载请注明原文地址: https://www.6miu.com/read-2629426.html

最新回复(0)