codecamp

语法(Syntax)

这节介绍一些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

语言的性质(The nature of the language)
变量和赋值(Variables and assignment)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }