循环
循环时用来做,重复,有规律,的语句
while 循环
循环的要素
- 循环语句运行条件
- 循环的条件变更
- 循环的初始值
- 循环的语句
while(判断条件) {
语句1(循环体);
条件变更;
}
// 第一轮 先判断条件是否成立,成立执行语句1,执行条件变更语句;
// 第二轮 再去判断条件是否成立,成立再次执行语句1,执行条件变更语句;
// 。。。。。
// 第n轮 判断条件是否成立,不成立,就不再执行语句;循环结束
// 再页面中输出100句,我爱你 (重复的事情)
var times = 1;
while(items <= 100) {
document.write("我爱你<br/>");
times++;
}
// 从1-100 的数字,(有规律的事情)
var i = 1;
while(i <= 100) {
document.write(i + "<br/>");
i++;
}
// 如果输入的不是q则,一直弹出
var score = prompt("请输入你的分数q",60);
while(score != "q") {
score = prompt("请输入你的分数q");
}
do while 循环
- 至少会执行一次
- 执行一次之后才进行判断
do{
循环语句;
条件变量;
}while(判断条件);
// 按照js 的运行规则,从上至下,先执行do中的循环语句
// 之后进行while的判断,判断成立,继续执行do里面的循环语句,
// 如果,判断不成立,则,不在执行循环语句,循环结束
var score = 50;
do{
document.write(score + "<br/>");
score--;
}while(score > 1);
// 先执行一次,之后判断score > 1,是否成立,成立继续执行do,否则,循环结束
for 循环
for(变量参数A;变量条件B;条件变量C) {
循环语句;
}
// A: 用来声明变量,如:var i = 1; 也可以在外部声明
// B: 判断条件,如:i < 100;
// C: 条件变量,如:i++,i--,等等,用来改变条件的
// 计算从1-100的和
var sum = 0;
for(var i = 1; i <= 100;i++) {
sum += i;
}
document.write(sum);
continue
- 终止本次循环
- 补充:isNaN(变量); 用来判断是不是一个非数字,如果是一个非数字返回true,否则,返回false
var total = 0;
for(var i = 1; i <= 5;i++) {
var score = window.prompt("请输入第" + i + "人的成绩");
score = score * 1;
// 注意:NaN === NaN 是错误的 false
//如果 分数大于100,或者,小于0,或者不是一个数字
if(score > 100 || score < 0 || isNaN(score)) {
i--; // 倒退一步
continue; //跳出本次循环
}
document.write(score + "<br/>);
total += score
}
document.write("总分:" + score);
break
- 终止整个循环
- 不能用bai于循环语句和switch语句之du外的任何其他语句中。
// 从1-100,累加
// 如果,累加的值大于1000,终止循环,弹出到了那个值
for(var i = 1,total = 0; i <= 100; i++) {
total += i;
if(total >= 1000) {
alert("加到" + i + "时,总值为:" + total);
break; //终止循环
}
}
多重循环
- 循环之中有循环
- 如果3重循环都不能解决问题,就需要使用别的方法解决
// 打印一个99乘法表
document.write("<table border='1' >");
for(var i = 1; i <= 9; i++) {
document.write("<tr>");
for(var j = 1; j <= i; j++) {
document.write(`<td>${j}X${i}=${i * j}</td>`)
}
document.write("</tr>");
}
document.write("</table>");