条件语句

if … else 语句

基本语法:

1
2
3
4
5
if (condition) {
code to run if condition is true
} else {
run some other code instead
}

else if

当我们想要两个以上的选择或结果时,就需要用到 else if

1
2
3
4
5
6
7
if (condition 1){
code to run if condition 1 is true
} else if (condition 2){
code to run if condition 1 is false and condition 2 is true
} else{
run some other code instead
}

比较运算符

比较运算符是用来判断条件语句中的条件的。

  • ===!== — 判断一个值是否严格等于,或不等于另一个。
  • <> — 判断一个值是否小于,或大于另一个。
  • <=>= — 判断一个值是否小于或等于,或者大于或等于另一个。

逻辑运算符

  • && — 逻辑与; 使得并列两个或者更多的表达式成为可能,只有当这些表达式每一个都返回true时,整个表达式才会返回true.
  • || — 逻辑或; 当两个或者更多表达式当中的任何一个返回 true 则整个表达式将会返回 true.
  • ! — 逻辑非; 对一个布尔值取反, 非true返回false,非false返回true.

tips:任何不是 false, undefined, null, 0, NaN 的值,或一个空字符串(’’)在作为条件语句进行测试时实际返回true。

switch 语句

if...else 语句主要适用于只有几个选择的情况,每个都需要相当数量的代码来运行,和/或 的条件很复杂的情况(例如多个逻辑运算符)。对于只想将变量设置一系列为特定值的选项或根据条件打印特定语句的情况,使用 switch 语句会更加方便。

下面是语法示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch (expression) {
case choice1:
run this code
break;

case choice2:
run this code instead
break;

// include as many cases as you like

default:
actually, just run this code
}

三元运算符

如果我们只需要通过判断 true 或者 false 来选择的话,三元运算符会看起来更加方便简洁。

下面是语法示例:

1
( condition ) ? run this code : run this code instead

循环语句

for 循环

语法:

1
2
3
for (initializer; exit-condition; final-expression) {
// code to run
}
  1. 关键字for,后跟一些括号。

  2. 在括号内,我们有三个项目,以分号分隔:

    • 一个初始化器 - 这通常是一个设置为一个数字的变量,它被递增来计算循环运行的次数。它也有时被称为计数变量

    • 一个退出条件 -如前面提到的,这个定义循环何时停止循环。这通常是一个表现为比较运算符的表达式,用于查看退出条件是否已满足的测试。

    • 一个最终条件 -这总是被判断(或运行),每个循环已经通过一个完整的迭代消失时间。它通常用于增加(或在某些情况下递减)计数器变量,使其更接近退出条件值。

  3. 一些包含代码块的花括号 - 每次循环迭代时都会运行这个代码。

比如我们来看看下面这个例子:

1
2
3
4
5
6
7
8
var cats = ['Bill', 'Jeff', 'Pete', 'Biggles', 'Jasmin'];
var info = 'My cats are called ';

for (var i = 0; i < cats.length; i++) {
info += cats[i] + ', ';
}
info;
// returns 'My cats are called Bill, Jeff, Pete, Biggles, Jasmin, '

跳出循环—break

如果要在所有迭代完成之前退出循环,可以使用break语句。

比如:

1
2
3
4
5
6
7
8
9
10
11
var cats = ['Bill', 'Jeff', 'Pete', 'Biggles', 'Jasmin'];
var info = 'My cats are called ';

for (var i = 0; i < cats.length; i++) {
info += cats[i] + ', ';
if (i === 3) {
break;
}
}
info;
// returns 'My cats are called Bill, Jeff, Pete, Biggles, '

跳过迭代—continue

continue语句以类似的方式工作,而不是完全跳出循环,而是跳过当前循环而执行下一个循环。

再看看这个例子:

1
2
3
4
5
6
7
8
9
10
11
var cats = ['Bill', 'Jeff', 'Pete', 'Biggles', 'Jasmin'];
var info = 'My cats are called ';

for (var i = 0; i < cats.length; i++) {
if (i === 2) {
continue;
}
info += cats[i] + ', ';
}
info;
// returns 'My cats are called Bill, Jeff, Biggles, Jasmin, '

while 语句和 do … while 语句

while 循环的语法如下:

1
2
3
4
5
6
initializer
while (exit-condition) {
// code to run

final-expression
}

再来看看相同的例子用 while 怎么写:

1
2
3
4
5
6
7
8
9
10
11
var cats = ['Bill', 'Jeff', 'Pete', 'Biggles', 'Jasmin'];
var info = 'My cats are called ';

var i = 0;
while (i < cats.length) {
info += cats[i] + ', ';
i++;
}

info;
// returns 'My cats are called Bill, Jeff, Pete, Biggles, Jasmin, '

do … while 循环和 while 类似,只不过是在while后提供了终止条件。

1
2
3
4
5
6
7
8
9
10
11
var cats = ['Bill', 'Jeff', 'Pete', 'Biggles', 'Jasmin'];
var info = 'My cats are called ';

var i = 0;
do {
info += cats[i] + ', ';
i++;
} while (i < cats.length);

info;
// returns 'My cats are called Bill, Jeff, Pete, Biggles, Jasmin, '