javascript核心阅读具有词汇结构意义。
1。字符集
Javascript程序使用Unicode字符集ASCII的超集,Unicode和拉丁文,并支持地区几乎所有的language.ecmascript3需要Javascript的实现必须支持unicode2,1和后续版本,和ecmascript5所支持的unicode3以及后续版本
一、分化情况
Javascript是区分大小写的语言,也就是说,关键字、变量、函数名,并且所有的表示字符都必须写在同一个例子中,例如,关键字必须写为while,不能写成while或while。
但需要注意的是,HTML不区分案例和案例之间的重要(虽然XHTML区分),因为它是密切相关的客户端Javascript,所以很容易混淆。例如,在一个事件处理的设置在HTML,onclick属性可写为事件,但在Javascript,写小写的onclick。
②空间,换行符和格式控制
Javascript程序中忽略了空间的标记之间,并且在大多数情况下,Javascript也忽略换行符。因为我们可以用空格和换行符的任意代码,我们可以用整齐一致的缩进形式的统一在一个时间的编码风格,从而提高代码的可读性。
Javascript是除了识别空格字符( u0020)。Javascript模型跟踪标志空间特征:水平制表符( u0009),垂直制表符( u000b)和进纸( u000c),不要中断空格( u00a0),字节顺序标记( ufeff),和unicode.javascript ZS的所有类别的特征确定了以下文字作为终结者: u000a, u000d,行分隔符( u2028),段分隔符( u2029)。返回的字符和线的解析在一起作为一个单一的线结束。
Unicode格式控制字符(类),如向左 u200e从左到右右 u200f,控制文字的视觉显示。这是一些非英语文字的重要显示正确,这些字符可以评论的Javascript,直接直接字符串和正则表达量,但不能用于标识符(如变量名),但有一个例外(零宽度的木匠 u200d)和零宽度非细木工( ufeff)可以出现在标识符,而不是一个手字符标识符。如上所述,字节顺序标记格式控制器( ufeff)被视为一个空间。
Unicode转义序列
在一些计算机硬件和软件,所有Unicode字符集无法显示或输入。为了支持旧技术的程序员使用,定义了一种特殊的序列,用6个ASCII字符来表示任意的16位Unicode编码,Unicode转义序列的前缀 U,其次是116带鼠标(使用数字和字母A-F)。这个Unicode转义法可用于Javascript字符串直接量,江路和正则表达式的标识符(除关键词)。例如,Unicode转义字符写E u00e9,以下两Javascript字符串是相同的。
咖啡=咖啡 u00e9=真
Unicode转义符号可以出现在注释中,但因为Javascript忽略注释,它们仅在上下文中作为ASCII字符处理,并且不连接到Unicode字符。
四标准化
Unicode支持多种编码方法相同的字符。例如,你可以使用Unicode u00e9 E字符,也可以用普通的ASCII字符E按照声调符号 u0301,在文本编辑器中,这两种编码是完全相同的结果,但他们表示二进制编码是不一样的,计算机是不相等的。Unicode标准定义的指标特征优选的代码格式,并给出了一个标准化的方式将文字转换成标准的格式,适合比较。它不会规范其他表达式、字符串或正则表达式。
2。笔记
Javascript支持两种类型的注释。在行的结尾处,文本将被忽略为Javascript注释。
除此之外,还可以在注释之间写入文本。这个注释可以跨行编写,但没有可用的嵌套注释。
//注释
*
*
*
*
* /
三.直接量
所谓直接量(文字)是直接用在程序中的数据值,直接量列在下面。
复制代码代码如下所示:
12 /数字
1.2 十进制
你好世界 / /字符串文本
嗨/另一个字符串
真正的布尔值
假布尔值
Javascript / / / /正则表达式字面GI(模式匹配)
空/空
第三章详细解释了字符串的数量和直接量,第十章将解释正则表达式的直接量。
{ 1,y:2 } /对象
{ } / /阵列1,2,3,4,5
4。标识符和保留字
标识符是一个名称。在Javascript,该标识符是用来命名变量和函数,或作为在Javascript代码中的一些循环语句跳转的位置的一个标志。Javascript标识符必须是字母,下划线或美元符号开始,后面的字符可以是letters.numbers.underline或美元符号(数是不允许出现的缩写,Javascript可以很容易区分标识符和数字),和下面的是合法的标识符。
复制代码代码如下所示:
my_variable_name
B13
_dummy
str
在便携性和易写,我们通常只使用ASCII字母和数字写的标识符。然后注意Javascript允许Unicode标识符的完整的字母和数字的字符(从技术允许ECMAscript的Unicode字符标识符机制在Mn班,MC类和P类的第一个字符),所以程序员可以写标识符使用非英语语言或数学符号
复制代码代码如下所示:
var =真的;
var = 3.14;
Javascript用关键字释放了一些标识符,所以不再在程序中使用这些关键字作为标识符。
复制代码代码如下所示:
打破
案例
抓住
继续
违约
删除
做
其他的
最后
对于
功能
如果
在
实例
新的
返回
开关
这
扔
尝试
类型
VaR
无效
而
随着
javascript保留字
类常量枚举出口
出口扩大进口超
此外,这些关键字在普通Javascript中是合法的,但在严格模式下,它是一个保留字。
实现让私有公共收益接口包
保护静态
在相同的严格模式下,下面的标识符是严格受限的,但不能使用变量名、参数名和函数名。
参数评价
Javascript的具体实现可以定义唯一的全局变量和函数。每个Javascript运行环境(客户机)服务器都有自己的全局属性列表,这需要牢记在心。
5。可选的分号
像许多编程语言,Javascript的使用分号(;)来分隔语句。这对提高代码的可读性和整洁是很重要的,和一个分隔符的缺乏是下一句话的开始,反之亦然。
在Javascript中,单独的行上的每个语句,通常可以省略分号(程序语句之间用分号结束前大括号}可以省略)。很多Javascript程序员(包括本书的示例代码)是使用分号来标明声明,即使是不完全的分号另一个方式是必要的,在任何的分号可以省略,省略,只使用一个分号在不得不使用它,无论什么样的关于Javascript的编程风格,一些细节需要注意。
下面的代码可以省略第一个分号。
a = 3;
b=4;
但是,如果按以下格式书写,第一个分号不能省略。
a=3;b=4;
值得注意的是,Javascript不是在所有填:只有分号时,无法妥善解决代码,Javascript将填补分号,换句话说(类似于下面的代码在两,异常)如果当前语句和随后的非空格字符不作为一个整体分析之后,Javascript当前语句结束时填写的分号,看下面的代码
VaR
一
=
三
console.log(一)
Javascript解析它为
VaR方法;a = 3;console.log(一);
Javascript将分号添加到第一行,如果没有分号,Javascript将无法解析代码中的var A。第二个A可以被视为单个语句a;但是Javascript不填充第二行结尾的分号。因为它可以用第三行内容解析成A = 3;。
某些语句的分离规则会导致意外情况,这种情况分为两行,似乎是两个独立语句。
var
(A + B)的ToString()。
第二行括号构成对f第一行的函数调用,Javascript将代码视为函数。
var y = x + F(A + B)的ToString();
很明显,代码的原意不是这样的。为了被解析为两个不同的语句使上面的代码,你必须手动填写的行为显示分号。
一般来说,如果一个语句(在{ / +启动,这可能是和前面的陈述与分析/ +开始语句不是很常见,但是在开始的时候(是很常见的。至少一些Javascript编码风格是常见的。有些程序员喜欢在前面在一份声明中保守的一个分号,所以,即使在语句修改草案,分号是删除当前语句将正确的分析;
如果电流表和线下无法合并parsing.javascript填充分号后的第一行,这是一般规则,但有两列。第一个例外是returnm,Birak,他继续陈述,如果三个键是由newline.javascript将在改变line.for例子填补分号
例如
返回
真正的;
与Javascript分析
回归;真实;
代码的原意是
返回ture;
也就是说,回归,打破和延续是好的。后续表达式之间没有行变化。如果添加了一行,程序可以在特殊情况下报告错误,并且程序的调试非常不方便。
第二个例子是关于++运算符,代表这些表达式表达式可以是标识符前缀和后缀,如果它是后面的表达式,如果它用作后缀表达式,它和表达式应该被看作是一行,否则它将在行的结尾填充分号。
复制代码代码如下所示:
X
+ +
YY
上面的代码被解析了。
复制代码代码如下所示:
X;
+ Y