条件操作符是 ECMAScript 中用途最为广泛的操作符之一,语法跟 Java 中一样:
variable = boolean_expression ? true_value : false_value;
上面的代码执行了条件赋值操作,即根据条件表达式 boolean_expression 的值决定将哪个值赋 给 变 量 variable 。 如 果 boolean_expression 是 true , 则 赋 值 true_value ; 如 果 boolean_expression 是 false,则赋值 false_value。比如:
let max = (num1 > num2) ? num1 : num2;
在这个例子中,max 将被赋予一个最大值。这个表达式的意思是,如果 num1 大于 num2(条件表达式为 true),则将 num1 赋给 max。否则,将 num2 赋给 max。
1. 赋值操作符:
简单赋值用等于号(=)表示,将右手边的值赋给左手边的变量,如下所示: let num = 10;
复合赋值使用乘性、加性或位操作符后跟等于号(=)表示。这些赋值操作符是类似如下常见赋值 操作的简写形式:
let num = 10;
num = num + 10;
以上代码的第二行可以通过复合赋值来完成:
let num = 10;
num += 10;
每个数学操作符以及其他一些操作符都有对应的复合赋值操作符:
2. 逗号操作符:
逗号操作符可以用来在一条语句中执行多个操作,如下所示:
let num1 = 1, num2 = 2, num3 = 3;
在一条语句中同时声明多个变量是逗号操作符最常用的场景。不过,也可以使用逗号操作符来辅助 赋值。在赋值时使用逗号操作符分隔值,最终会返回表达式中最后一个值:
let num = (5, 1, 4, 8, 0); // num的值为0
在这个例子中,num 将被赋值为 0,因为 0 是表达式中最后一项。逗号操作符的这种使用场景并不多见,但这种行为的确存在。
ECMA-262 描述了一些语句(也称为流控制语句),而 ECMAScript 中的大部分语法都体现在语句中。 语句通常使用一或多个关键字完成既定的任务。语句可以简单,也可以复杂。简单的如告诉函数退出, 复杂的如列出一堆要重复执行的指令。
3. if语句:
if 语句是使用最频繁的语句之一,语法如下:
if (condition) statement1 else statement2
这里的条件(condition)可以是任何表达式,并且求值结果不一定是布尔值。ECMAScript 会自 动调用 Boolean()函数将这个表达式的值转换为布尔值。如果条件求值为 true,则执行语句 statement1;如果条件求值为 false,则执行语句 statement2。
可以像这样连续使用多个 if 语句:
if (condition1) statement1 else if (condition2) statement2 else statement3
下面是一个例子:
if (i > 25) {
console.log("Greater than 25.");
} else if (i < 0) {
console.log("Less than 0.");
} else {
console.log("Between 0 and 25, inclusive.");
}
4. do-while语句:
do-while 语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。换句 话说,循环体内的代码至少执行一次。do-while 的语法如下:
do {
statement
} while (expression);
下面是一个例子:
let i = 0; do {
i += 2;
} while (i < 10);
在这个例子中,只要 i 小于 10,循环就会重复执行。i 从 0 开始,每次循环递增 2。