1. 分支结构
1.1 if语句
1.1.1 if (条件) { 语句1 }
根据条件来有选择性的执行某些代码
if(2>1){ // 判断 2>1 是否成立,如果成立则执行花括号里的代码,否则跳过 console.log('众所周知,2比1大'); }
1.1.2 if (条件) { 语句1 }else { 语句2 }
if(2<1){//判断 2<1 是否成立 console.log('2小于1');// 如果成立执行这里的代码 }else{ console.log('2不小于1');// 如果不成立执行这里的代码 }
1.1.3 if (条件) { 语句1 } else if (条件) { 语句2 } else { 语句3 }
if(2<1){//判断 2<1 是否成立 console.log('2小于1');// 如果成立执行这里的代码 }else if(2==1){// 否则, 再判断 2==1 是否成立 console.log('2等于1');// 如果成立执行这里的代码 }else if(2>1){// 否则, 再判断 2>1 是否成立 console.log('2大于1');// 如果成立执行这里的代码 } // ... else {// 如果上边所有的条件都不成立 console,log('2不大于1,不小于1,不等于1。') }
-
其中的(
条件
)可以是任意表达式;而且对这个表达式求值的结果不一定是布尔值。ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值
-
如果对(
条件
)求值的结果是true,则执行(语句1
),如果对(条件
)求值的结果是false,则执行(语句2
)。而且这两个语句既可以是一行代码,也可以是一个代码块(以一对花括号括起来的多行代码)
-
对于if..else语句,如果要执行的语句只有一条,可以不使用“{}”,但这种写法并不推荐。
1.2 三元运算符
语法:
条件 ? 语句一 : 语句二
当条件的值为true,执行语句一;当条件的值为false,执行语句二。
例1:输入一个大于等于0小于60的整数,如果输入的数字小于10,则在数字前添个0,否则保持不变
var num = 3 num = num<10?'0'+num:num;
1.3 switch语句
定义:
用于进行多次判断的switch语句
语法:
switch(表达式) { case 常量1: 语句1 break; case 常量2: 语句2 break; case 常量3: 语句3 break; default: 语句4 }
switch语句中的每一种情形(case)的含义是:“如果表达式等于这个常量,则执行对应的后面的语句 ”。而break关键字会导致代码执行流跳出switch语句。如果省略关键字break,就会导致执行完当前case以后,继续执行下一个case。最后的default关键字则是用在表达式不匹配前面任何一种情形的时候,执行机动代码。
例:
根据输入的数字返回今天是周几,0代表周日,1~6代表周一到周六
var day = 5; switch(day){ case 0: console.log('今天周日'); break; case 1: console.log('今天周一'); break; case 2: console.log('今天周二'); break; case 3: console.log('今天周三'); break; case 4: console.log('今天周四'); break; case 5: console.log('今天周五'); break; case 6: console.log('今天周六'); break; default: console.log('请输入0~6之间的数字') }
1.4 比较switch与多重if结构
-
相同点:都可以实现多重分支机构
-
不同点:
-
switch:只能处理等值的条件判断,且条件是整型变量或字符串变量的等值判断
-
多重if:处理在else部分还包含其他if结构,特别适合某个变量处于某个区间的情况
-
4. 循环语句
定义:
循环用来指明当某些条件保持为真时要重复的动作。当条件得到满足时,就跳出循环语句。在 JavaScript 中有四种循环结构可用。
4.1 for语句
定义:
-
前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。
for 语句指定了一个计数器变量,一个测试条件,以及更新该计数器的操作。在每次循环的重复之前,都将测试该条件。如果测试成功,将运行循环中的代码。如果测试不成功,不运行循环中的代码,程序继续运行紧跟在循环后的第一行代码。在执行该循环后,计算机变量将在下一次循环之前被更新。
语法:
for(语句1; 语句2; 语句3) { 语句; }
解释:
1.for循环的圆括号里面须放三个句子,分别是1.初使化计数器 2.判断条件 3.更新计数器
2.for语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这三个表达式全部省略,就会创建一个无限循环。
4.2 while语句
定义:
也是前测试循环语句
语法:
// 打印0~9之间的整数; var i = 0; while(i<10){ console.log(i); i++; }
4.3 do-while语句
定义:
后测试循环语句,也就是说,只有在循环体中的代码执行之后,才会测试出口条件。换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。
语法:
do { 语句; } while(条件)
do..while循环与while循环不同之处: 在于它至少将代码块中的代码执行一次。
4.4 break和continue语句
break 和 continue 语句的不同之处:
-
break 语句可以立即退出循环,阻止再次反复执行任何代码。
-
而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。