精彩文章免费看

JavaScript 04 (do...while循环/for循环/break/continue)

js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的continue

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

欢迎大家去我的个人技术博客看看,点赞收藏注册的都是好人哦~

https://xiaowu.xyz

目录:

一、do..while 循环

二、for循环

三、break & continue


有兴趣可以来小五的博客逛逛哦~

xiaowu.xyz

一、do..while 循环

语法格式:

}while(表达式);

注意:

1.最后的分号不要忘记。

2.循环条件中使用的变量需要经过初始化。

3.循环体中,应有结束循环的条件,否则会造成死循环。

while和do while的区别

do...while和while循环的差别不是很大,主要是就是while循环会先判断初始条件,只有成立才会执行。但是do...while会先执行一次,再进行判断,如果不满足才停下来。

1、执行顺序的问题,while是先判断,do while,先执行循环体的代码,再判断。当条件第一次就不满足时,更能体现出区别。

2、在开发中,while用的情况多。如果while处理逻辑比较别扭时,就需要使用do while。

二、for循环


for循环是用的最多的循环,所以for循环一定要牢记。

for(表达式1;表达式2;表达式3)

执行过程:

1.先求解表达式1(只求一次);

2.求解表达式2,若其值为真(非0),

则执行for语句中指定的内嵌语句,

然后求解表达式3;再求解表达式2,若为假,

则结束循环,执行for循环外的语句。



for循环三个表达式的说明:

三个表达式都可以省略,但分号不能省略,省略后都可改写。

3个表达式都省略:例: for(;;);这是个死循环

循环的嵌套

一个循环语句内又包含另一个完整的循环语句。

3中循环可以互相嵌套,下面几种都是合法的形式。


其实循环没有什么好讲的,理清楚思路和逻辑之后,就需要大量的练习来培养这种程序的思维。我知道这很难,当年我坐在网吧通宵敲c的时候也很难,这难道不是我们必须克服的难关吗?

利用循环嵌套:

完成下面的示例

这里我统一使用for循环写,有兴趣的小伙子们可以改成while循环和do...while循环

利用循环嵌套 打印四行 *,每行10个

**********

**********

**********

**********

for(var i = 0;i < 4; i++){

for(var j = 0; j < 10; j++){

document.write("*");

document.write("<br />");

利用循环嵌套 打印直角三角形

*****

******

*******

for(var i = 0; i < 7;i++){

for(var j = 0; j<=i;j++){

document.write("*");

document.write("<br />");

利用循环嵌套 打印五行小五

外层循环控制 总共打印多少行

内层循环控制 每行打印多少个 (小 / 五)

小小小小小五

小小小小五五

小小小五五五

小小五五五五

小五五五五五

for(var i = 0;i<6;i++){

for(var j = 0; j<6-i;j++){

document.write("小");

for(var m = 0; m<=i;m++){

document.write("五");

document.write("<br>");

利用循环打印等腰三角形

外层循环控制 总共打印多少行

内层循环控制 每行打印多少个 (小 / 五) (这里的小可以换成&emsp;)

小小小小小五

小小小小五五五

小小小五五五五五

小小五五五五五五五

小五五五五五五五五五

五五五五五五五五五五五

var n = 6

for (var j=0;j<n;j++) {

for (var i = 0;i < n - j;i++) {

document.write("小");

for (var x = 0;x <2*j+1;x++){

document.write("五");

document.write("<br>");

利用循环打印菱形

外层循环控制 总共打印多少行

内层循环控制 每行打印多少个 (小 / 五) (这里的小可以换成&emsp;)

小小小小小五

小小小小五五五

小小小五五五五五

小小五五五五五五五

小五五五五五五五五五

五五五五五五五五五五五

小五五五五五五五五五

小小五五五五五五五

小小小五五五五五

小小小小五五五

小小小小小五

var n = 6;

for (var j=0;j<n;j++) {

for (var i = 0;i < n - j-1;i++) {

document.write("小");

for (var x = 0;x <2*j+1;x++){

document.write("五");

document.write("<br>");

var n = 6-1;

for (var j=n;j>0;j--) {

for (var i = 0;i < n - j+1;i++) {

document.write("小");

for (var x = 0;x <2*j-1;x++){

document.write("五");

document.write("<br>");

利用循环打印空心菱形

外层循环控制 总共打印多少行

内层循环控制 每行打印多少个 (&emsp; / 五)

五   五

五     五

五       五

五         五

五       五

五     五

五   五

var n = 6;

for (var j=0;j<n;j++) {

for (var i = 0;i < n - j-1;i++) {

document.write("&emsp;");

for (var x = 0;x <2*j+1;x++){

if(x>0 && x<2*j){

document.write("&emsp;");

}else{

document.write("五");

document.write("<br>");

var n = 6-1;

for (var j=n;j>0;j--) {

for (var i = 0;i < n - j+1;i++) {

document.write("&emsp;");

for (var x = 0;x <2*j-1;x++){

if(x>0 && x< 2*j-2){

document.write("&emsp;");

}else{

document.write("五");

document.write("<br>");


for循环是我们用的最多的循环,循环没有捷径,只能通过大量的练习来进行学习和理解,学会循环之后,我们已经可以完成很多事情了。


最后:用我们最经典的乘法口诀表来结束我们的循环练习

<!DOCTYPE html>

<html lang="en">

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>小五技术blog-打印隔行变色的乘法口诀表格</title>

<style>

padding: 0;

margin: 0;

table {

width: 1200px;

height: 600px;

border-collapse: collapse;

table-layout: fixed;

table,

border: 1px solid #000;

text-indent: 10px;

</style>

</head>

</body>

<script>

// 字符串中  双引号不能嵌套双引号  单引号不能嵌套单引号

document.write("<table>")

for (var i = 1; i <= 9; i++) {

// document.write(i + ":");

// 隔行换色

if (i % 2 == 1) {

document.write('<tr style="background: grey">');

} else {

document.write("<tr style='background: pink'>");

for (var j = 1; j <= i; j++) {

document.write("<td>");

document.write(j + "x" + i + "=" + i * j + "")

document.write("</td>");

document.write("</tr>");

document.write("<table>")

</script>

</html>

三、break & continue

break语句的功能:

1、 在switch语句中使流程跳出switch结构。

2、 在循环语句中使流程跳出当前循环。(一般用在循环嵌套if语句,当满足条件就跳出当前循环)

注意:

如果已执行break语句,就不会执行循环体中位于break后的语句。

在多层循环中,一个break语句只向外跳一层。


continue语句的功能:

只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。

注意:

continue语句只能用在循环里。

对于 while 和 do-while 循环,continue 语句执行之后的动作是条件判断;对于 for 循环,随后的动作是变量更新。

// 2. 在多层循环中  一个break只跳一层

for (var j = 1; j <= 10; j++) {

for (var i = 1; i <= 100; i++) {  // i

if (i % 2 == 0 && i % 3 == 0 && i % 4 == 0) {

document.write(i + "<br>");

break;


示例:

continue;

//打印1-100的偶数

for (var i = 1; i <= 100; i++) {  // i

if (i % 2 == 1) {

continue;

document.write(i + "<br>");


使用假设法来判断一个数是不是质数

// 判断一个数是不是质数。(除了1和它本身以外不再有其他的除数整除。)

// 2 3 5 7 11 13 17 23 29 37

//  11  1 - 11  除了    1和11      没有其他数能整除它  => 素数/质数

//  9  1 - 9    1  3  9  除了 1和9  还有其他数能整除它  => 合数

var num = prompt("请输入一个数字");

var flag = true;  // 假设 num是一个素数

for (var i = 2; i < num; i++) {

if (num % i == 0) {  // 如果num能被 其他数(除了1和它本身以外)整数  肯定是合数  推翻假设

flag = false;

break;

if (flag == true) {

document.write(num + "是素数/质数;");

} else {

document.write(num + "是合数;");