条件语句
- if 语句
当条件满足时,运行语句
当条件不满足时,不运行语句 - if...else 语句
当条件满足时,运行语句
当条件不满足时,运行其他语句 - if...else if....else 语句
使用该语句来选择多个代码块之一来执行 - switch 语句
使用该语句来选择多个代码块之一来执行
if 语句
语法
if (条件)
{
语句块;
}
if...else 语句
语法
if (条件){
语句块1;
}
else{
语句块2;
}
if...else if...else 语句
语法
if (条件1)
{
当条件 1 为 true 时执行的代码
}
else if (条件2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
注:最后的else可以选择性添加
switch 语句
语法
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
例子
显示今天的星期名称。请注意 Sunday=0, Monday=1, Tuesday=2, 等等:
var d=new Date().getDay();
switch (d)
{
case 0:x="今天是星期日";
break;
case 1:x="今天是星期一";
break;
case 2:x="今天是星期二";
break;
case 3:x="今天是星期三";
break;
case 4:x="今天是星期四";
break;
case 5:x="今天是星期五";
break;
case 6:x="今天是星期六";
break;
}
x 的运行结果:
今天是星期一
default 关键词
使用 default 关键词来规定匹配不存在时做的事情
例子
如果今天不是星期六或星期日,则会输出默认的消息:
var d=new Date().getDay();
switch (d)
{
case 6:x="今天是星期六";
break;
case 0:x="今天是星期日";
break;
default:
x="期待周末";
}
document.getElementById("demo").innerHTML=x;
x 的运行结果:
期待周末
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。碰到break,则结束执行,否则继续向下执行。可以使用 default 关键词来规定匹配不存在时做的事情。
结束机制
- 碰到break结束
- 整个结构都执行完毕
switch-case和if-else的区别
- if-else可以判定相等或不等的情形,适用性更广
- switch-caseswitch-case结构更清晰,效率更高;但一般用于指定变量相等于某个范围内的某个特定的值。