js里面的代码是有执行顺序的,通过一些特殊的方式控制那些代码如何执行 —— 流程控制
顺序结构
按照从上到下的顺序,一行不漏的执行
分支结构
在逻辑上有多个分支,只会选择一个分支执行
循环结构
重复的代码,可以使用循环的方式实现多次
表达式

  1. // 下面都可以称为表达式
  2. 12; // 结果是12
  3. var a = 10; // 结果是 10
  4. a++; // 结果是 11
  5. 5 > 6; // 结果是 false
  6. // ...

语句可以理解为一个行为,一般在行为和行为之间,都会使用 ; 隔开
console.log(12); // 行为就是输出了一个12在控制台
alert(‘helloworld’); // 行为就是弹出了个提示框
简而言之:一个程序可以由多个语句组成,一个语句可以由多个表达式组成

分支结构(判断)

if结构

只有一个条件的判断

  1. if( 条件表达式 ){
  2. 条件表达式的结果是true的时候要执行的代码
  3. }
  4. var gender = prompt('请问您的性别是男的吗');
  5. if( gender === '男' ){
  6. alert('男厕所在二楼的最东边,请去吧');
  7. }

两个条件的判断

  1. if( 条件表达式 ){
  2. 条件表达式的结果是true的时候要执行的代码
  3. }else {
  4. 条件表达式的结果是false的时候要执行的代码
  5. }
  6. var gender = prompt('请告诉我你的性别');
  7. if(gender === '男'){
  8. alert('男厕所在二楼的最东边,请去吧');
  9. }else {
  10. alert('女厕所在3楼的西边');
  11. }

多个条件的判断

  1. if( 条件表达式1 ){
  2. 条件表达式1的结果是true的时候要执行的代码
  3. }else if(条件表达式2){
  4. 条件表达式2的结果是true的时候要执行的代码
  5. }else if(){
  6. }
  7. // 如果还有更多的判断,继续写 else if ()
  8. else {
  9. 以上的条件都不为true,就会执行这里的代码
  10. }
  11. var gender = prompt('请告诉我您的性别');
  12. // 男的上二楼
  13. if(gender === '男'){
  14. alert('上二楼');
  15. }else if(gender === '女'){
  16. // 如果是女的,上3楼
  17. alert('上三楼');
  18. }else if(gender === '人妖'){
  19. alert('滚');
  20. } else {
  21. alert('我没有听明白您的意思');
  22. }

switch结构

在js里面如果是比较固定值,推荐使用swtich-case结构
语法:
switch (变量){
case 要比较的固定的值1:
变量和 固定的值1 === 的时候要执行的代码
break;
case 要比较的固定的值2:
变量和 固定的值2 === 的时候要执行的代码
break;
case 要比较的固定的值3:
变量和 固定的值3 === 的时候要执行的代码
break;
default:
当以上所有的条件都不成立的时候,代码在这里执行
break;
}

  1. switch (gender) {
  2. case '男':
  3. alert('去二楼');
  4. break;
  5. case '女':
  6. alert('去三楼');
  7. break;
  8. case '人妖':
  9. alert('滚');
  10. break;
  11. default:
  12. alert('人家没听懂');
  13. break;
  14. }

细节
1.default不是必须的
2.break的作用是结束判断,如果不想要,也可以不写
3.变量和固定值的比较是 === 严格等于

三元表达式

三元表达式的语法
判断条件 ? 语句1 : 语句2
表达式1 ? 表达式2 : 表达式3

  1. 表达式1 ? 表达式2 : 表达式3
  2. a > b ? a : b
  3. // 如果表达式1 成立, 那么就执行表达式2
  4. // 如果表达式1 不成立, 那么就执行表达式3
  5. //例如: 求二个数字中谁更大
  6. var a = 10; var b = 20;
  7. var max = a > b ? a : b;
  8. console.log(max);