手机版

谈JavaScript字符集

时间:2021-11-07 来源:互联网 编辑:宝哥软件园 浏览:

JavaScript区分大小写:关键字、变量、函数名、所有标识符必须大小写一致(一般我们用小写写),这和C#的多样式书写有很大区别。例如:(这里以变量str和Str为例)复制的代码如下:var str=' abcvar Str=' ABC警报;//输出ABC

如果str和Str是同一个变量,那么alert(Str);输出结果应该是abc,而不是上图所示的ABC。这只是表明JavaScript是区分大小写的。Unicode转义序列Unicode字符集似乎弥补了ASCII只能代表128个字符的限制。但是,如果我们想在日常生活中显示汉字和日语,ASCII显然是不可能的。所以Unicode是ASCII和拉丁语-1的超集。首先,JavaScript程序是用Unicode字符集编写的,但是在一些计算机硬件和软件中,完整的Unicode字符集(例如)无法完全显示或输入。为了解决这个现象,JavaScript定义了一个特殊的序列,它使用6个ASCII字符来表示任何16位Unicode内部代码。这个特殊的序列叫做Unicode转义序列,前缀是\u,后面跟四个十六进制数字,例如,复制码的代码如下:var str=' caf \ u00e9var Str=' caf';警报(Str ' ' Str);//可以看到显示器也有同样的效果。alert(Str===Str);//输出真

但是,我们要注意的是,Unicode允许多种方法对同一字符进行编码,上面提到的转义示例:: 1就说明了这一点。Unicode字符\u00E9可以用来表示2。e\u0301(语调字符)也可以用来表示复制的代码,如下:VARST=' CAF \ u00e9var Str=' cafe \ u0301警报(Str ' ' Str);//如下图所示,str和Str的输出结果是同一个预警(Str===Str);//结果是一样的,但是它们的二进制代码表示完全不同,所以输出false。虽然在文本编辑器上显示的结果是一样的,但它们的二进制代码表示完全不同,编程语言最终会转化为本地平台的计算机机械代码(二进制代码)。计算机只能通过比较二进制代码来知道结果。因此,它们比较的最终结果只能是假的,所以这是对“Unicode允许多种方法对同一字符进行编码”的最好解释,因为Unicode标准为所有字符定义了首选的编码格式,以便于将文本转换为统一格式的Unicode转义序列。再以为例:比较fac和caf是否相同?只有当fac和caf转换为e 00e 9或e 0301时,才能比较fac和caf。

版权声明:谈JavaScript字符集是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。