JavaScript语法结构

注释

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

直接量

所谓直接量(literal),就是程序中可以直接使用的数据值。下面列出的都是直接量:

  • 12 // 数字
  • 1.1 // 小数
  • "hello world" // 字符串文本
  • 'hi' // 另一个字符串
  • true // 布尔值
  • false // 另一个布尔值
  • /javascript/gi // 正则表达式(用做模式匹配)
  • null // 空

标识符

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

出于可移植性和易于书写的考虑,通常我们只使用ASCII字母和数字来书写标识符。

保留字

JavaScript把一些标识符拿出来用做自己的关键字。因此就不能再在程序中把这些关键字用作标识符了:

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

JavaScript同样保留了一些关键字,这些关键字在当前的语言版本中并没有使用,但在未来版本中可能会用到。ECMAScript5保留了这些关键字:

class const enum export extends import super

此外,下面这些关键字在普通的JavaScript代码中是合法的,但是在严格模式下是保留字:

implements let private public yield interface package protected static

严格模式同样对下面的标识符的使用做了严格限制,他们并不完全是保留字,但不能用做变量、函数名或参数名:

arguments eval

ECMAScript3将Java的所有关键字都列为自己的保留字,尽管这些保留字在ECMAScript5中放宽了限制。

abstract double goto native static
boolean enum implements package super
byte export import private synchronized
char extends int protected throws
class final interface public transient
const float long short volatile

JavaScript预定义了很多全局变量和函数,应当避免把它们的名字用作变量名和函数名

arguments encodeURI Infinity Number RegExp
Array encodeURIComponent isFinite Object String
Boolean Error isNaN parseInt SyntaxError
Date eval JSON parseInt TypeError
decodeURI EvalError Math RangeError undefined
decodeURiComponent Function NaN RefernceError URIError

JavaScript的具体实现可能定义独有的全局变量和函数,每一种特定的JavaScript运行环境(客户端、服务端等)都有自己的一个全局属性列表,这一点是需要牢记的。

可选的分号

JavaScript使用分号(;)将语句分隔开,如果缺少分隔符,一条语句的结束就成了下一条语句的开始,反之亦然。在JavaScript中,如果语句各自独占一行,通常可以省略语句之间的分号。

JavaScript编程风格

第一种:使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此;
第二种:在任何可以省略分号的地方都将其省略,只有在不得不用的时候才使用分号。

注意

JavaScript只有在缺少了分号就无法正确解析代码的时候才会填补分号。但是存在例外:

  1. 在涉及return、break和continue语句的场景中,如果这三个关键字后紧跟换行,JavaScript则会在换行处填补分号。
  2. “++”和“--”运算符用作后缀表达式,它和表达式应当在同一行,否则行尾将填补分号,同时“++”或“--”将会作为下一行代码的前缀操作符并与之一起解析。
posted @ 2017-10-31 21:26  大明二代  阅读(362)  评论(0编辑  收藏  举报