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做用再循环嵌套中 只会跳出本次循环 而不影响外层的循环










