JavaScript 条件语句

所有的程序语言都提供流控制语句,允许我们控制代码的执行顺序。一个条件语句就是规则的一个集合,确定是否满足特定的条件。这些条件总是变量和数据的比较。

JavaScript 的条件语句 :

  • if 语句
  • if-else 语句
  • if...else if...else 语句
  • 三元语句或三元操作符
  • switch 语句

JavaScript if 语句

语句仅当给定的条件为true的时候才会执行。如果条件为fasle,则在if语句内的代码都会被忽略。

语法

if (conditionExpression){
statementBlock;
}

在这里的条件表达式conditionExpression是一个布尔型表达式(返回true或false)。if语句会计算括号里面条件表达式的值。如果是true (非零) , 语句内的代码就执行,如果计算为false (0) , 语句内的代码就被跳过不执行。

例子

var totalMarks=55;
if(totalMarks > 50){
alert("You have passed the exam !!");
}

输出

You have passed the exam !!

JavaScript if-else 语句

如果if语句的条件计算为false,则else 语句特定代码块被执行。

语法

if (conditionExpression){
statementBlock;
} else {
statementBlock;
}

上面的语法,if语句计算括号里面的条件表达式。如果结果是true,在if块的语句将被执行,如果表达式是false,则在else块内的代码被执行。if ... else的else语句与同一作用域中最近的前一个if语句相关联,而else语句没有相应的else语句。

例子

var totalMarks=45;
if(totalMarks > 50){
alert("You have passed the exam !!");
}else{
alert("You failed!!");
}

输出

You failed!!

JavaScript if...else if...else 语句

如果你面对更多的可能状态,并且每种都分别处理,那么可以使用if...else if...else 语句。 它会从各个表达式中计算仅为true的内容。

语句

if (conditionExpression 1) {
statementBlock;
} else if(conditionExpression 2) {
statementBlock;
} else if(conditionExpression 3) {
statementBlock;
}
.......
.......
else {
statementBlock;
}

上面的语法,仅仅是一系列的if语句,并且每个if都是前一个else的部分。根据条件为真,确定执行哪个语句,如果没有条件为true,就执行else块的代码。

例子

var totalMarks=66;
if(totalMarks > = 50 && totalMarks< 60){
alert("You have passed the exam !!");
}
else if(totalMarks >= 60 && totalMarks< 80) {
alert("You got second grade!!");
}
else if(totalMarks >= 80) {
alert("You got first grade!!");
}
else{
alert("You failed!!");
}

输出

You got second grade!!

三元语句或三元操作符

代替使用if..else 语句, 可以使用简化的条件表达式。

语法

variable = (condition) ? (true) : (false);

例子

一般if...else 语句

var totalMarks=45;
if(totalMarks > 50){
alert("You have passed the exam !!");
}else{
alert("You failed!!");
}

Using 三元操作符(?)

var totalMarks=55;
var result='';
var result = (totalMarks > 50) ? "You have passed the exam !!" : "You failed!!";
alert(result);

Switch 语句

Switch case 语句是较长的if语句的替代方案,用于一个变量的多个值的匹配比较(if...else if...else)。当有大量的可能值时,用switch 语句的效率比if...else if...else 语句要高。

语法

switch (expression) {
case value: statement break;
case value: statement break;
............................
............................
default: statement
}

例子

var totalMarks=88;
switch (true) {
case totalMarks >= 50 && totalMarks< 60:
alert("You have passed the exam !!");
break;
case totalMarks >= 60 && totalMarks< 80:
alert("You got second grade!!");
break;
case totalMarks >= 80:
alert("You got first grade!!");
break;
default:
alert("You failed!!");
}

输出

You got first grade!!

原文链接