1.5 while循环
1.5.1 while循环
while 语句可以在条件表达式为真的前提下,循环执行的一段代码,直到表达式不为真时结束循环。
while语句的语法结构如下:
while (条件表达式) { // 循环体代码 }
执行思路:
- 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
- 执行循环体代码
- 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束
注意:
使用 while 循环时一定要注意,它必须要有退出条件,否则会成为死循环
如果使用计数器参与运算,一定要加操作表达式(递增或者递减)作为退出条件,否则会成为死循环
while 循环和 for 循环的不同之处在于 while 循环可以做较为复杂的条件判断,比如判断用户名和密码
1.5.2 while循环 案例
// while循环案例 // 1. 打印人的一生,从1岁到100岁 var i = 1; while (i <= 100) { console.log('这个人今年' + i + '岁了'); i++; } // 2. 计算 1 ~ 100 之间所有整数的和 var sum = 0; var j = 1; while (j <= 100) { sum += j; j++ } console.log(sum); // 3. 弹出一个提示框, 你爱我吗? 如果输入我爱你,就提示结束,否则,一直询问。 var message = prompt('你爱我吗?'); while (message !== '我爱你') { message = prompt('你爱我吗?'); } alert('我也爱你啊!');
1.6 do-while循环
1.6.1 do-while循环
do… while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
do… while 语句的语法结构如下:
do { // 循环体代码 - 条件表达式为 true 时重复执行循环体代码 } while(条件表达式);
执行思路
- 先执行一次循环体代码
- 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码
注意:先再执行循环体,再判断,do…while循环语句至少会执行一次循环体代码
1.6.2 do-while循环 案列
// while循环案例 // 1. 打印人的一生,从1岁到100岁 var i = 1; do { console.log('这个人今年' + i + '岁了'); i++; } while (i <= 100) // 2. 计算 1 ~ 100 之间所有整数的和 var sum = 0; var j = 1; do { sum += j; j++; } while (j <= 100) console.log(sum); // 3. 弹出一个提示框, 你爱我吗? 如果输入我爱你,就提示结束,否则,一直询问。 do { var message = prompt('你爱我吗?'); } while (message !== '我爱你') alert('我也爱你啊');
1.5 continue、break
continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。
例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子,其代码实现如下:
for (var i = 1; i <= 5; i++) { if (i == 3) { console.log('这个包子有虫子,扔掉'); continue; // 跳出本次循环,跳出的是第3次循环 } console.log('我正在吃第' + i + '个包子呢'); }
运行结果:
break 关键字用于立即跳出整个循环(循环结束)。
例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的不吃了,其代码实现如下:
for (var i = 1; i <= 5; i++) { if (i == 3) { break; // 直接退出整个for 循环,跳到整个for下面的语句 } console.log('我正在吃第' + i + '个包子呢'); }
运行结果:
1.7 循环小结
- JS 中循环有 for 、while 、 do while
- 三个循环很多情况下都可以相互替代使用
- 如果是用来计次数,跟数字相关的,三者使用基本相同,但是我们更喜欢用 for
- while 和 do…while 可以做更复杂的判断条件,比 for 循环灵活一些
- while 和 do…while 执行顺序不一样,while 先判断后执行,do…while 先执行一次,再判断执行
- while 和 do…while 执行次数不一样,do…while 至少会执行一次循环体, 而 while 可能一次也不执行
- 实际工作中,我们更常用for 循环语句,它写法更简洁直观, 所以这个要重点学习
1.8 continue 关键字
continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行
一次)。
<script> // continue 关键字 退出本次(当前次的循环) 继续执行剩余次数循环 for (var i = 1; i <= 5; i++) { if (i == 3) { continue; // 只要遇见 continue就退出本次循环 直接跳到 i++ } console.log('我正在吃第' + i + '个包子'); } // 1. 求1~100 之间, 除了能被7整除之外的整数和 var sum = 0; for (var i = 1; i <= 100; i++) { if (i % 7 == 0) { continue; } sum += i; } console.log(sum); </script>
1.9 break 关键字
break 关键字用于立即跳出整个循环(循环结束)。
// 例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的不吃了,其代码实现如下: <script> // break 退出整个循环 for (var i = 1; i <= 5; i++) { if (i == 3) { break; } console.log('我正在吃第' + i + '个包子'); } </script>
2 - 代码规范
2.1 标识符命名规范
- 变量、函数的命名必须要有意义
- 变量的名称一般用名词
- 函数的名称一般用动词
2.2 操作符规范
// 操作符的左右两侧各保留一个空格 for (var i = 1; i <= 5; i++) { if (i == 3) { break; // 直接退出整个 for 循环,跳到整个for循环下面的语句 } console.log('我正在吃第' + i + '个包子呢'); }
2.3 单行注释规范
for (var i = 1; i <= 5; i++) { if (i == 3) { break; // 单行注释前面注意有个空格 } console.log('我正在吃第' + i + '个包子呢'); }
2.4 其他规范
关键词、操作符之间后加空格