1. for循环
目的:减少对重复内容的多次操作,帮助解决执行多次的问题
- for循环的语法:
for (声明变量表达式 ; 条件判断语句(返回 true or false); 变量增长) {
代码块:执行体,也就是你要重复执行的内容就放在这里面
}
for(var i = 0; i < 10; i++){
console.log(1);
}
- for循环执行顺序
1.声明变量 i ,并且赋值为0 => 代表从0这个值 开始,等待判断
2.执行 i < 10; 并且返回Boolean. 如果条件为真, 则直接先执行一次里面的执行语句
如果条件为假,则跳出循环,不执行里面的语句
3.执行完里面的代码之后,执行变量自增 i++;
4.判断 i++ 是否小于 10 ,如果小于,则接着执行里面的语句,否则跳出循环
原始for循环的写法
var i = 0;
for(;i < 10;){
console.log(2);
i++;
}
2. for循环遇到的问题
2.1 什么都不会输出的情况
我们看下面的这段代码:此时i=0,因为0是false,所以条件判断语句为假,也就不会进入到执行体中。
所以什么都不会输出。
2.2 死循环
什么意思呢?条件恒为真就继续循环,一直循环下去
在测试的时候尽量少用,会导致电脑卡顿。
解决方法:
- 使用关键字break可以终止循环
var j = 1;
for(;j;){
if(j === 11){
console.log(j);
break;
}
j++;
}
return用于返回一个值,终止程序运行
在浏览器环境下,for循环不要使用return语句
var k = 1;
for(;k;){
console.log(k);
k++;
if(k === 11){
return;
}
}
- 使用
continue关键字可以跳过本次循环,继续执行下一次循环。
break是终止的意思,一旦终止,后面的循环将不再执行。
3. 练习
3.1 打印100以内,跳过可以被7整除或者个位数是7的数
for(var i = 0; i < 100; i++){
if(i % 7 === 0 || i % 10 === 7){
continue;
}
console.log(i);
}
3.2 打印100以内,可以被4或5或6整除的数
for(var n = 0;n < 100;n++){
if(n % 4 === 0 || n % 5 ===0 || n % 6 ===0){
console.log(n);
}
}
3.3 打印100以内,能够被4和5和6同时整除的数
for(var a = 0;a < 100;a++){
if(a % 4 === 0 && a % 5 === 0 && a % 6 ===0){
console.log(a);
}
}
4. 双重for循环
外层循环一次,内层循环所有的程序
内层循环完毕本轮之后,回到外层检测外层的循环是否满足跳出条件
如果满足,则跳出整轮循环,否则继续执行
for(var i = 1; i < 4; i++){
console.log('外层循环第'+i+'次');
for(var j = 1; j < 4; j++){
console.log('内层循环第'+j+'次');
}
}