js流程控制:程序的三种基本结构—1.顺序结构 2.分支结构 3.循环结构
1.顺序结构:我们当前默认的结构、
2.分支结构:
1.1 if语句:if(循环条件){执行语句}
在if语句中只有当循环条件的boolean类型为true时,才能执行循环体里面的内容;
循环条件在什么情况下是true?------> 非0的数字,非空字符串,object;
在什么情况下是false:-------->空字符串 返回 数字0 null undefined ;
else if():格式:
if(条件表达式){
执行语句}
else if(条件表达式)
{执行语句}
else{默认最后执行的语句
}
1.2 三元运算符:if else 的简化
表达式1 ? 表达式2 : 表达式3
当表达式1的返回boolean结果为true时,执行表达式2,反之执行表达式3;
1.3 switch语句
switch(表达式){
case 常量1:
break;
case 常量2:
break;
...
default:
语句;
break;
使用switch语句时要注意:1.在case后面要添加break,表示符合条件的时候就不往下面执行了。如果没有写break,否则就算执行到符合条件的时候,仍然还会往后面继续执行;2.case常量后面是冒号;
1.4 switch语句和if语句的区别:if语句针对的具有一定范围的数值,而switch则是针对有特定数值的表达式,case后面对应的是某一数值,另外switch语句在比较值时使用的是全等操作符,不会发生类型数据转换,而if的判断条件里面是存在隐式类型转换的,也可认为switch判断条件里面用的是三个等于号,只有当数值和数据类型都一样的时候,返回的boolean类型是true,数值或者数据类型有一个不相等的就是false,if判断条件里面用的是两个等于号;
能用switch语句实现的就一定能用if实现,反之则不一定;
3.循环结构:
循环语句有三种:while do…while for
1.1 while语句
while(循环条件){
循环体
}
当循环条件的boolean类型为true时,执行循环体里面的内容;
当循环条件的boolean类型为false时,结束循环;
在使用while循环语句的时候,一定要注意先定义变量,并且在循环体中对变量进行一定的操作,使其最终不符合循环条件里面的内容,最终跳出循环,否则会进入死循环,导致网页的卡死。
1.2 do…while 语句
do…while 语句和while很相似,不过不同之处在于,不管while里面的循环条件是否成立,都要先执行do里面循环体一次,也就是说至少执行一次循环体;
do{
循环体
}while(循环条件)
1.3
for循环;
for循环一般是在循环次数确定的时候使用比较方便,while,do…while循环一般是用来解决无法确认次数的循环;
for(初始表达式1;判断表达式2;自增表达式3){
循环体
}
for循环的执行过程,先执行初始表达式1;然后执行判断表达式2;判断表达式2的boolean类型为true的时候,执行循环体里面的内容,循环体里面的内容执行完毕以后,执行自增表达式3(不一定是自增,也有可能是自减),再执行判断表达式2,返回true的时候,执行循环体,再去执行自增表达式3,依次类推,直至判断表达式2返回false,跳出循环;
1.4
continue 和break
区别:continue是执行到此语句的时候,跳出此语句,在去执行循环体,只影响其所在语句的内容(跳出,不执行其所在的那个语句分支了);而break是执行到其所在的语句分支的时候,不仅不往下面执行了,最终跳出整个循环。
具体案例参考作业里面的内容:
// 作业7: 求1-100之间不能被7整除的整数的和(continue用)
// var sum = 0;
// for (var i = 1; i <= 100; i++) {
// if (i % 7 == 0) {
// continue
// }
// sum += i;
// }
// console.log(sum); ========>4315
// 作业8:求200-300之间所有的奇数的和(用continue)
// var sum = 0;
// for (var i = 200; i <= 300; i++) {
// if (i % 2 == 0) {
// continue
// }
// sum += i
// }
// console.log(sum); ======>12500
// 作业9: 求200 - 300 之间第一个能被7整数的数(
// break)
// for (var i = 200; i <= 300; i++) {
// if (i % 7 == 0) {
// console.log('200-300之间第一个能被7整除的是' + i);
// break;
// }
// } =========>200-300之间第一个能被7整除的是203
总结:循环语句的区别:
1.1 表达式不相同:do-while 循环结构的表达式:do(循环体)
for循环的表达式为:for(初始表达式1;条件表达式2;自增表达式3){循环体}
1.2 执行时的判断方式不同:
do-while循环先执行一次循环体,再去判断while里面的内容;
for循环先执行定义的变量,再去执行条件表达式2;执行完循环体,才去执行自增表达式3;
while是当循环条件成立的时候,才进入循环体;
1.3 执行次数不同
do-while至少执行1次
for循环和while循环判断后执行,可以不执行中间循环体。
3. 调试
(1)、alert() //弹出提示弹窗
(2)、console.log() //调试台调试
(3)、debugger 关键字 //下断点
4.document.write() //在文档中输出
prompt //弹窗,可以用一个定义的变量来接受我们输入的内容