JavaScript 第一章

一、词法结构

1.1字符集

JavaScript程序是用Unicode字符集编写的。Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有在用的语言。

1.1.1区分大小写 JavaScript是区分大小写的语言,也就是说,关键字,变量,函数名和所有的标识符都必须采取一致的大小写形式。比如,关键字"while"必须写成"while",不可以写成"While"或者"WHILE"。同样,"online",'Online","OnLine"和"ONLINE"是四个不同的变量名。 1.1.2 空格、换行符和格式控制符 JavaScript会忽略程序中标识之间的空格。由于可以在代码中任意使用空格和和换行,由此可以采用整齐、一致的缩进来形成统一的编码风格,从而提高代码的可读性。

1.2 注释

JavaScript支持两种格式的注释。在行尾"//"之后的文本都会被JavaScript当作注释忽略掉的。此外,"/*" 和 "*/"之间的文本也会当作注释。这种注释可以跨行书写,但是不可以有嵌套的注释。下面都是合法的JavaScript注释:

//这是单行注释
/* 这里是一段注释*/
/*
* 这又是一段注释
* 这里的注释可以连写很多行
*/
1 .3 直接量

所谓直接量,是程序中直接使用的数据值,这些数都是直接量

12              // 数字
1.2             // 小数
"hello world"   // 字符串文本
true/false      // 布尔值
/javasript/gi   // 正则表达式直接量(用做模式匹配)
null            // 空
1.4 标识符和保留字

标识符 在JavaScript中,标识符用来对变量和函数进行命名,或者用做JavaScript代码中某些循环语句中的跳转位置的标记。JavaSrcipt标识符必须以字母、下划线 ( _ ) 或 美元符 ( $ )开始。后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便JavaScript可以轻易区分开标识符和数字)。下面是合法的标识符:

i
my_variable_name
v12
_dumy
$str

出于可移植性和易于书写的考虑,通常我们只使用ASCII字母和数字来书写标识符。然而需要注意的是,JavaScript允许标识符中出现Unicode字符全集中的字母和数字。因此,程序员也可以使用一些非英语语言或者数学符号来书写标识符。

var si=true;
var Π=3.14

保留字 JavaSceipt把一些标识符拿出来用作直接的关键字。因此,就不能在程序中把这些关键字用作标识符了:

break      delete    function      return    typeof
case       do        if            switch    var
catch      else      in            this      void
continue   false     instanceof    throw     while
debugger   finally   new           true      with
default    for       null          try
1.5 可选的分号

和其他许多编程语言一样,JavaScript使用分号(;)将语句分隔开。这对增强代码的可读性和整洁性是非常重要的;缺少分隔符,一条语句的结束就成为了下一条语句的开始,反之亦然。在JavaScript中,如果语句各自独占一行,通常可以省略语句之间的分号。另外一种风格就是,在任何可以省略分号的地方都将其省略,只有在不得不使用的时候才使用分号。不挂采用哪种编程风格,关于JavaScript中可选分行好的问题有几个细节需要注意:

//考虑如下代码,因为两句语句用两行书写,第一个分号是可以省略掉的
a=3;
b=3
//如果按照如下格式书写,第一个分号则不能省略掉
a=3;b=4;

1、在涉及return、break和continue语句的场景中。如果这三个关键字后紧跟着换行,JavaScript则会在换行处填补分号。例如:

return
true;
// JavaScript会解析成:
return;true;
// 而代码的本意是这样:
return True;
//也就是说,在retur、break和continue和随后的表达式之间不能有换行,如果添加了换行,程序只能在极特殊的情况下才会报错,而且程序的调试非常不方便吧。

2、在涉及 "++" 和 "--" 运算符的时候,这些运算符可以作为表达式的前缀,也可以当作表达式的后缀。如果将其用作后缀表达式,他和表达式应当在同一行。否则,行尾将填补分号,同时 "++" 或 "--" 将作为下一行代码的前缀操作符并与之一起解析。

x
++
y
//这段代码将解析为"x;++y",而不是"x++;y"
posted @ 2022-04-01 13:26  食尸之鬼  阅读(101)  评论(0)    收藏  举报