优惠活动 - 12周年庆本月新客福利
优惠活动 - 12周年庆本月新客福利
优惠活动 - 12周年庆本月新客福利

JavaScript语言核心中的词法结构——字符集

编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序。作为语法的基础,它规定了诸如变量名是什么样的,怎么写注释,以及程序语句之间如何分隔等规则。本章用很短的篇幅来介绍JavaScript的词法结构。

字符集

JavaScript程序是用Unicode字符集编写的。Unicode是ASCII和Latin- 1的超集,并支持地球上几乎所有在用的语言.ECMAScript 3要求JavaScript的实现必须支持Unicode2.1及后续版本,ECMAScript 5则要求支持Unicode 3及后续版本。



区分大小写

JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和所有的标识符(identifier) 都必须采取一致的大小写形式。比如,关键字“ while"必须写成"while",而不能写成 “ While ” 或者 " WHILE ”。同样,“ online","online".“ OnLine ” 和 “ ONLINE " 是4个不同的变量名。

但需要注意的是,HTML并不区分大小写(尽管XHTML区分大小写)。由于它和客户端JavaScript联系紧密,因此这点区别很容易混淆 译注1,许多客户端JavaScript对象和属性与它们所表示的HTML标签和属性同名。在HTML中,这些标签和属性名可以使用大写也可以是小写,而在JavaScript中则必须是小写。例如,在HTML中设置事件处理程序 。
 
空格、换行符和格式控制符

Javascript会忽璐程序中标识( token)2之间的空格。多数情况下, Javascript同样会忽换行符。由于可以在代码中随意使用空格和换行,因此可以采用整齐、一致的缩进来形成统一的编码风格,从而提高代码的可读性。

除了可以识别普通的空格符(uoo020),Javascript:还可以以识别如下这些表示空格的字符:水平制表符(Vu0009)、垂直制表符( UOOOB)、换页符(u000c)、不中断空白uO0A0)、字节序标记( \UFEFF),以及在 Unicode中所有乙s类别的字符评性3, Javascript将如下字符识别为行结東符:换行符(u0o00A),回车符(Nuoo000),行分隔符(Vu2028),段分隔符(u2029)。回车符加换行符在一起被解析为一个单行结束符。

Unicode格式控制字符(Cf类年法台),比如“从右至左书写标记”(u200F)和“从左至右书写标记”(u200E)5,控制着文本的视党显示,这对于一些非英语文本的正确显示来说是至关重要的,这些字符可以用在 Javascirptf的注释、字符串直接量和正则表达式直接量中,但不能用在标识符(比如,变量名)中。但有个例外,零宽连接符(u2000)和零宽非连接符( UFEFF)详6是可以出现在标识符中的,但不能作为标识符的首字符。上文也提到了,字节序标记格式控制符(uFEF)被当成了空格来对待。

Unicode转义序列

在有些计算机硬件和软件里,无法显示或输入 Unicode字符金集。为了支持那些使用老旧技术的程序员,Javascript定义了一种特殊序列,使用6个ASCI宇符来代表任意16位 。
 
Unicode内码。这些Unicode转义序列均以\ u为前缀,其后跟随4个十六进制数 (使用数字以及大写或小写的字母A ~ F表示)。这种Unicode转义写法可以用在JavaScript字符串直接量、正则表达式直接量和标识符中 (关键字除外)。例如,字符é的Unicode转义写法为\u00E9,如下两个JavaScript字符串是完全一样的:

"café " =,,"caf\u00e9.// - > true

Unicode转义写法也可以出现在注释中,但由于JavaScript会将注释忽略,它们只是被当成上下文中的ASCII字符处理,而且并不会被解析为其对应的Unicode字符。

标准化

Unicode允许使用多种方法对同一个字符进行编码。比如,字符 "E,可以使用Unicode字符\u00E9表示,也可以使用普通的ASCII字符e跟随一个语调符\u0301,在文本编辑器中,这两种编码的显示结果一模一样,但它们的二进制编码表示是不一样的,北京网站建设在计算机里也不相等.Unicode标准为所有字符定义了一个首选的编码格式,并给出了一个标准化的处理方式将文本转换为一种适合比较的标准格式,JavaScript会认为它正在解析的程序代码已经是这种标准格式,不会再对其标识符、字符串或正则表达式作标准化处理。
本文地址:https://www.hy755.cn//article/2716.html
上一篇:没有了 下一篇:怎样吸引蜘蛛爬行抓取?
相关文章:
最新文章: