一、循环
1.循环的概念:
- 循环就是重复做一件事
- 循环结构是程序中一种很重要的结构,其特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止
2.循环三要素
- 循环起点
- 循环结束的条件
- 步长(步进)
while循环 while系统关键字,括号里面放的是循环条件
语法:
循环开始条件,变量初始化
初始化只执行一次,执行多次会把自增的值给你重置
var i = 1
循环体 条件
while(i<=5){
要执行的代码
i++步长,变量更新
}
while循环执行过程
第一次执行
先变量更新 var i = 1,进行条件判断(i <= 10),为真就进入循环体,为假不执行
当为真后,要执行的代码执行完毕后,最后执行变量更新 i++
注意:循环执行过程中,变量初始化只执行一次
3.死循环和双层循环
- 就是循环条件一直为真,没有结束的时候,代码会一直执行
- 代码执行会消耗内存空间,造成电脑卡顿,性能浪费
- 注意:在公司里面千万千万不要写死循环
- 注意:遇到双层循环的时候,外层循环执行一次,内层循环执行一轮。
二、do while 循环
语法格式:
do{
执行代码(满足循环条件执行的代码)
i++(步长、步进)
}while(条件)
do while循环和while区别:
- while是先判断条件,后执行语句,do while是先执行语句,后判断条件,先斩后奏,先执行一次
循环体中,应有结束循环的条件,否则会造成死循环,do while循环是先斩后奏类型的循环体,简而言之就是无论成立与否都会执行一次
三、for循环
语法:
for(变量初始量;条件判断;变量更新)
{
循环体代码
}
for循环执行顺序:
- var i = 1;变量初始化,在循环开始前执行一次,以后永远不再执行了。
- i <=10;条件判断,如果条件为true,则重复执行循环体代码,否则,退出循环,你需要循环多少次,条件需要多少次判断
- 执行循环体代码。循环体代码执行完毕后,程序立即跳到“变量更新”模块执行
- i++;变量更新。为了避免出现死循环。i++执行完毕后,程序跳到 i<=10条件判断语句,开始第二次循环。
四、break和continue
break:
- break语句,用于无条件结束各种循环和switch
- 说明:一般情况下,需要在break语句之间加一个条件判断。换句话说:就是条件成立了,就退出循环
- break只能跳出单层循环,不能一次跳出多重循环。
continue:
- 描述:结束本次循环,而开始下次循环
- 说明:一般情况下,需要在continue语句前加一个条件判断
for循环和while循环比较:
- for循环和while语法规则略有不同,两种方法可以交替使用,但是在部分问题上各有优势
- for循环一把能用循环次数确定的情况下
- while一般用于循环次数不确定的情况下
注意:当循环次数确定时,使用for循环和while循环差别不大,但是当循环次数不确定时,while方法使用起来更加方便,更好理解
例题:
九九乘法表
var sp = ""
// var table = "<table>"
for (var i = 1; i <= 9; i++) {
// table += "<tr>"
for (var j = 1; j <= i; j++) {
sp += "<span>" + j + "X" + i + "=" + j * i + "</span>"
if (j == i) {
sp += "<br>"
}
}
// table += "</tr>"
}
// table +="</table>"
// document.write(table)
document.write(sp)
</script>
用for循环打印出 金字塔
*
**
***
****
*****
规律:空格数 = 总行数 - 每一行星星的个数 5 - i
var xin = ""
for(var i = 1; i<=5;i++){
for(var k = i; k <= 5;k++){
xin += " "
}
for(var j =1; j <= i;j++){
xin += "☆"
if(i == j){
xin += "<br>"
}
}
}
document.write(xin)