语法(Syntax)

2018-06-15 16:33 更新

这节介绍一些JavaScript的基本语法规则。

语句和表达式(Statements versus expressions)

了解JavaScript的语法,先来了解两个主要的语法类型:语句和表达式

  • 语句通常“做某些事情”。程序是一组语句序列。举个例子,下面声明(创建)一个变量 foo: var foo;
  • 表达式产生值。他们通常位于赋值操作的右边,函数参数,等。举个例子: 3 * 7

语句和表达式之间的区别最好通过实例说明,JavaScript(像Java)有两种不同的方式实现if-then-else。一种是用语句:

var x;
if (y >= 0) {
    x = y;
} else {
    x = -y;
}

另一种是表达式:

var x = y >= 0 ? y : -y;

你可以将后者作为函数参数(但前者不行):

myFunction(y >= 0 ? y : -y)

最后,每当JavaScript期待一个语句,你也可以用一个表达式代替。例如:

foo(bar(7, 1));

foo(...);是一个语句(也叫做表达式语句),bar(7, 1) 是一个表达式。他们都实现函数调用。

流程控制语句和语句块(Control flow statements and blocks)

流程控制语句,其语句体可以是单条语句。举两个例子:

if (obj !== null) obj.foo();
while (x > 0) x--;

然而,任何语句总能被语句块代替,花括号包含零或多条语句。因此,你也可以这样写:

if (obj !== null) {
    obj.foo();
}


while (x > 0) {
    x--;
}

在本文中,我们只使用后一种方式。

分号(Semicolons)

JavaScript中的分号是可选的。但省略(分号)可能会带来意想不到的结果,所以我建议你不要那样做。 正如上面所看到的,分号作为语句的结尾,但语句块不需要。仅有一种情况下你能看到语句块后面有分号——函数表达式后面的函数体块。表达式作为语句的结尾,后面是分号:

var x = 3 * 7;
var f = function () { };

注释(Comments)

JavaScript的注释有两种形式:单行注释和多行注释。单行注释以//开头,以换行符结尾:

x++; // 单行(single-line)注释

多行注释用/**/包裹

/* 
 这是多行注释
 多行哦
 */

深入阅读

Expressions versus statements in JavaScript Automatic semicolon insertion in JavaScript

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号