JavaScript学习系列目录
文章目录
一、循环
- 循环是重复性做一件事情
- 没有办法控制每次循环的时间长度
- 嵌套循环会增大程序时间复杂度(不建议嵌套多次)
- 死循环 是不会停止的循环 会导致电脑内存溢出(避免死循环)
- 循环分为三种:while ,do while ,for
while
写法
/*
while(布尔类型表达式){
循环体 (迭代 初始值变化 操作)
}
*/
var i = 0 //初始值定义
while(i<10){
// i++//迭代 如果没有会导致死循环
i+=2
console.log(i);//操作
}
do while
写法
/*
var 初始值
do{
循环体 迭代量
}
while(布尔表达式)
*/
var number1 = 100
var sum = 0
do{
sum+=number1
number1--
}while(number1>0)
console.log(sum);
while和do while的区别
- while 循环 do 执行
- do while 先执行后循环
- while可能一次都不执行,do while至少执行一次
for
写法
/*
for(初始值 省略不写;判断条件;迭代量){
循环体
}
*/
for(var i=0;i<10;i++){
console.log(i);//0-9
}
var i = 0
for(;i<5;i++){
console.log(i);//0-4
}
//下面这种写法是正确的 死循环
/*
for(;;){
console.log("你好");
}
var i = 0
for(;i<1;){ //死循环
console.log("死循环");
}
*/
//不允许的写法 俩个变量不能重名
for (var index = 0; index < 10; index++) {
for (var index = 0; index < 5; index++) {
console.log("hello");
}
}
while 、 do while 和 for的区别
-
使用while循环进行1+10 do while和while 时间复杂度一致 while循环速度比for快一倍
-
while时间复杂度低于for循环
二、结束循环
break
break在switch中会跳出整个switch块 for也一样他会跳出整个for块
for(var i=0;i<5;i++){
if(i==3){
break//结束这个for循环 0 1 2
}
console.log(i);
}
双层嵌套的循环break在什么位置就结束当前位置循环,break是结束本个循环
for(var i=1;i<3;i++){
for(var j=1;j<3;j++){
if(i==2){
break
}
// console.log(j*i); // 1 2
}
}
break 在外面的循环 会结束里面包含的循环 但是里面包含的不会结束外面的循环
for(var i=1;i<3;i++){
for(var j=1;j<3;j++){
if(i==2){
console.log('hello world')
}
// console.log(j*i); // 1 2
break
}
}
continue
效果和break类似,但是要注意的是continue是结束本次回合
var sum = 0
for(var i=1;i<=100;i++){
if(i%10==3){
continue;
}
sum+=i
}
console.log(sum);
break和continue的区别
- continue语句只能用在循环里
- break作用在switch里面
- break是跳出本次循环 后面不会再运行 continue跳过这次循环 接着后面的走
- break做用再循环嵌套中 只会跳出本次循环 而不影响外层的循环