1. 条件语句
1.1. 描述
条件语句用于基于不同的条件来执行不同的动作。
条件语句是通过一条或多条语句的执行结果(true或false)来决定后面执行的代码块。
1.2. 常使用的条件语句
(1)if语句 - 只有当指定条件为true时,使用该语句来执行代码
(2)if…else语句 - 当条件为true时执行if中代码,当条件为false时执行else中代码。
(3)if…else if…else语句 - 使用该语句是选择多个代码块之一来执行。
(4)switch语句 - 等同if…else if…else
1.2.1. if语句
if语句由一个布尔表达式后跟一个或多个语句组成。
语法:
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
}
// 在布尔表达式boolean_value为false时,直接到这里执行
实例:
var num:number = 5
if (num > 0) {
console.log("数字是正数")
}
执行结果:数字是正数
1.2.2. if…else语句
一个if语句后跟一个可选的else语句,else语句在布尔表达式为false时执行。
语法:
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
} else {
// 在布尔表达式boolean_value为false时,执行
}
实例:
var num = 12;
if (num % 2 == 0) {
console.log("偶数");
}
else {
console.log("奇数");
}
执行结果:偶数
1.2.3. if…else if…else语句
if…else if…else语句在执行多个判断条件的时候使用。
语法:
if(boolean_value1){
// 在布尔表达式boolean_value1为true时,执行
} else if(boolean_value2) {
// 在布尔表达式boolean_value1为true时,执行
} else {
// 布尔表达式都为false时,执行
}
需要注意以下几点:
(1)一个if判断语句可以有0或者1个else语句,它必须在else…if语句后面。
(2)一个if判断语句可以有0或者多个else…if语句,这些语句必须在else之前。
(3)一旦执行了else…if内的代码,后面的else…if或else将都不会再执行。
实例:
var num: number = 5
if (num > 0) {
console.log(num + " 是正数");
} else if (num < 0) {
console.log(num + " 是负数");
} else {
console.log(num + " 不是正数也不是负数");
}
执行结果:5是正数
1.2.4. switch…case语句
一个switch语句允许测试一个变量等于多个值的情况。每个值称为一个case,并且被测试的变量会对每个switch case进行检查。
语法:
switch(variable){
case value1 :
statement(s);
break; /* 可选的 */
case value2 :
statement(s);
break; /* 可选的 */
/*
*您可以有任意数量的 case 语句
*/
default : /* 可选的 */
statement(s);
}
switch语句必须遵循的规则:
(1)switch语句中variable是一个要被比较的表达式,可以是任何类型,包括基本数据类型(如:string、number、boolean等)、对象类型(如:object、Array、Map等)以及自定义类型(如:class、interface、enum等)等。
(2)在一个switch中可以有任意数量的case语句。每个case后跟一个比较的值和冒号。
case的value必须与switch中变量相同的数据类型。
(3)当被测试的变量等于case中的常量值时,case后跟的语句将被执行,直到遇到break语句为止。
(4)当遇到break语句时,switch终止,控制流将跳转到switch语句下一行。
(5)不是每一个case都需要包括break。如果case语句不包含break,控制流将继续后续case,直到遇到break为止。
(6)一个switch语句可以有一个可选的default case,出现在switch末尾。default关键字则表示表达式的值与所有case值都不匹配时执行的代码块。default case语句中break语句不是必须的。
switch(variable){
case value1 :
statement(s);
break; /* 可选的 */
case value2 :
statement(s);
break; /* 可选的 */
/*
*您可以有任意数量的 case 语句
*/
default : /* 可选的 */
statement(s);
}
实例:
var grade:string = "A";
switch (grade) {
case "A": {
console.log("优");
break;
}
case "B": {
console.log("良");
break;
}
case "C": {
console.log("及格");
break;
}
case "D": {
console.log("不及格");
break;
}
default: {
console.log("非法输入");
break;
}
}
执行结果:优