表达式和语句
表达式(expressions)和语句(statements)之间存在着一些差别,但是他们之间的区别还是比较小的。
一个表达式一般都有返回值,而语句可能有也可能没有,语句一般都会改变环境(声明赋值)。
// 这是表达式 他会返回 7
3 + 4;
// 6 + 7 可以认为是 表达式, 而 let a = 6 + 7; 可以认为是 语句, 这种情况,则称之为 表达式语句。
let a = 6 + 7;
function myfunc (a, b) {
return a - b;
}
// 直接调用 myfunc, 称为表达式。
myfunc(8, 10);
标识符规则
JavaScript 的标识符是大小写敏感的,因此变量 xxx
和 变量 xXx
是不同的。
JavaScript 标识符规则如下:
- 第一个字符是以字母(分大小写),下划线(
_
) 或 美元符号($
)开头 - 其余字符由字母(分大小写)、下划线、美元符号 和 数字组成。
- 标识符不能是 JavaScript 中的保留字。
其实标识符的字符并不局限于上面的所说,事实上字符只要是在 Unicode 里面,就能使用。
判断语句
if 语句里面主要有三种形式:
// 单独的 if
if (x === y) {
}
// if else 组合
if (x === y) {
} else {
}
// if else if else 组合
if (x === y) {
} else if (x === z) {
} else if (x === q) {
} else {
}
{ }
语句里面只有一句的时候可以省略 { }
,但是强烈建议在任何时候都不省略。
switch
语句,相当于是另外一种 if 语句,它的语法是下面这样:
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default :
// ...
}
循环语句
循环语句无论是 while
语句还是 for
语句,他们一般都由四部分组成,甚至可以说 for
语句是 while
的一种封装。
- 初始化条件部分
- 判断部分
- 循环体部分
- 改变初始部分
let a = 0; // 初始化部分
while (a < 10) { // 判断部分
console.log(a); // 循环体部分
a++ // 改变初始条件 部分
}
// 可以看到 () 包含 三部分, 而 {} 包含一部分。
for (let a=0; a<10; a++) {
console.log(a);
}
如果我不需要一直让循环进行,而是有选择的执行,比如满足某些条件跳过循环体部分,满足某些条件则直接退出循环,这个时候就需要 break
和 continue
。 使用方法很简单,就是在 循环语句里面,设置对应的条件判断。
for (let x=0; x<10; x++) {
if (x % 2 ===0) {
continue; // 当 x 为 偶数时, 不在执行 下面的语句,而是 进入 x++ 部分
}
console.log(a);
if (x === 7) {
break
}
}
// 1 3 5 7
// 删去 continue 则 输出
// 0 1 2 3 4 5 6 7
// 再删去 break 则 输出
// 0 1 2 3 4 5 6 7 8 9
标签语句
在 JavaScript 中,我们可能很少会去用到 label(标签) 语句,但是既然它存在,那么就有它的作用。标签可以是任意的标识符,但是不能是保留字,语句部分可以是任意语句。标记语句可以和 break 或 continue 语句一起使用。
label:
statement
MDN 上面的文档已经对标签语句介绍的比较清楚了,这里就抛出原文链接:label
。