03js循环语句
1.循环的概念
重复的执行一段的代码,避免死循环,提高效率(时间复杂度(关注)空间复杂度 (不关注) ),循环包含三大语句。while语句,do while语句,for语句
1.1循环的三要素
初始值 迭代量 条件
while循环:先判断再执行
//用while循环打印1~10 var i = 1; //初始值 while (i <= 10) { //条件 为true时才执行{}里的语句 console.log(i); i++; //迭代量 }
do while循环:与while唯一区别就是先执行再判断
var i = 6; do{ console.log("先执行再判断"); i++; }while(i < 3)//无论条件是否成立都会执行{}里的语句一次
for循环
for (初始值; 条件; 迭代量) { 执行代码; }//执行顺序:初始值>条件>执行代码>迭代量>
for (;;) {//语法没错,这是一个死循环,不写条件和迭代量即为死循环,初始值可以写在外面 console.log("这是一个死循环"); }
break关键字
功能:在switch语句中使流程跳出switch结构。在循环语句中使流程跳出当前的循环
//10.输入两个数,求两个数的最小公倍数 var max = 9; var min = 6; for (var i = max; i <= max * min; i++) { if (i % max == 0 && i % min == 0) { console.log(i); break;//跳出当前循环 } }
continue关键字
功能:只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。
//5.计算1 +3+ 5+... + 99的和 var sum = 0; for (var i = 1; i <= 99; i++) { if (i % 2 == 0) { continue; } sum += i; } console.log(sum);
时间复杂度(判断内容执行效率 依照次数计算)
概述:从传统意义上 对应的代码时间复杂度越低对应的执行速度越快(效率越高)
O(1)(每行只执行一遍)
var i = 0; i++ if (i < 10) { console.log(i); }
O(logN)(两个值来决定)
var i = 1; while (i < 100) {//由i和2决定 i *= 2; }
O(n)(由对应的一个值决定)
for (let i = 0; i < 10; i++) { console.log("执行了" + i + "遍"); }
O(n^2)(由对应的两个值决定)
//九九乘法表 for (var j = 1; j < 10; j++) { var str = ""; for (var i = 1; i <= j; i++) { str += i + "*" + j + "=" + i * j+"\t" } console.log(str); }