js里面的代码是有执行顺序的,通过一些特殊的方式控制那些代码如何执行 —— 流程控制
顺序结构
按照从上到下的顺序,一行不漏的执行
分支结构
在逻辑上有多个分支,只会选择一个分支执行
循环结构
重复的代码,可以使用循环的方式实现多次
表达式
// 下面都可以称为表达式
12; // 结果是12
var a = 10; // 结果是 10
a++; // 结果是 11
5 > 6; // 结果是 false
// ...
语句可以理解为一个行为,一般在行为和行为之间,都会使用 ;
隔开
console.log(12); // 行为就是输出了一个12在控制台
alert(‘helloworld’); // 行为就是弹出了个提示框
简而言之:一个程序
可以由多个语句
组成,一个语句
可以由多个表达式
组成
分支结构(判断)
if结构
只有一个条件的判断
if( 条件表达式 ){
条件表达式的结果是true的时候要执行的代码
}
var gender = prompt('请问您的性别是男的吗');
if( gender === '男' ){
alert('男厕所在二楼的最东边,请去吧');
}
两个条件的判断
if( 条件表达式 ){
条件表达式的结果是true的时候要执行的代码
}else {
条件表达式的结果是false的时候要执行的代码
}
var gender = prompt('请告诉我你的性别');
if(gender === '男'){
alert('男厕所在二楼的最东边,请去吧');
}else {
alert('女厕所在3楼的西边');
}
多个条件的判断
if( 条件表达式1 ){
条件表达式1的结果是true的时候要执行的代码
}else if(条件表达式2){
条件表达式2的结果是true的时候要执行的代码
}else if(){
}
// 如果还有更多的判断,继续写 else if ()
else {
以上的条件都不为true,就会执行这里的代码
}
var gender = prompt('请告诉我您的性别');
// 男的上二楼
if(gender === '男'){
alert('上二楼');
}else if(gender === '女'){
// 如果是女的,上3楼
alert('上三楼');
}else if(gender === '人妖'){
alert('滚');
} else {
alert('我没有听明白您的意思');
}
switch结构
在js里面如果是比较固定值,推荐使用swtich-case结构
语法:
switch (变量){
case 要比较的固定的值1:
变量和 固定的值1 === 的时候要执行的代码
break;
case 要比较的固定的值2:
变量和 固定的值2 === 的时候要执行的代码
break;
case 要比较的固定的值3:
变量和 固定的值3 === 的时候要执行的代码
break;
default:
当以上所有的条件都不成立的时候,代码在这里执行
break;
}
switch (gender) {
case '男':
alert('去二楼');
break;
case '女':
alert('去三楼');
break;
case '人妖':
alert('滚');
break;
default:
alert('人家没听懂');
break;
}
细节:
1.default不是必须的
2.break的作用是结束判断,如果不想要,也可以不写
3.变量和固定值的比较是 === 严格等于
三元表达式
三元表达式的语法
判断条件 ? 语句1 : 语句2
表达式1 ? 表达式2 : 表达式3
表达式1 ? 表达式2 : 表达式3
a > b ? a : b
// 如果表达式1 成立, 那么就执行表达式2
// 如果表达式1 不成立, 那么就执行表达式3
//例如: 求二个数字中谁更大
var a = 10; var b = 20;
var max = a > b ? a : b;
console.log(max);