美文网首页
循环结构(for)

循环结构(for)

作者: 锋享前端 | 来源:发表于2018-09-14 15:20 被阅读0次

一、为什么需要循环

mark

二、三大循环结构

for循环、while循环、do...while循环。这三大循环在所有的编程语言中几乎都存在。这三种循环本质上是一样的,只是在语法上稍有不同。

另外,JavaScript为了提高遍历对象的属性和数组元素的性能,增加了for-in循环,待面向对象阶段再细讲。

2.1 for循环

语法:

for(表达式1; 表达式2; 表达式3){
    //循环体
}

说明:

  1. for循环开始执行,==首先执行表达式1==,表达式1一般是对循环变量做初始化的操作。表达式1在整个for循环执行期间只会执行一次。
  2. 表达式1执行完毕后==开始执行表达式2==,表达式2一般是循环条件是否成立,如果表达式2最终的结果是true(或者可以通过Boolean()转化函数转换为true),则开始执行循环体。如果表达式2最终的结果是false,则循环语句结束。
  3. 循环执行完毕之后,开始执行表达式3,表达式3一般是对循环做自增或自减的操作。
  4. 表达式3执行完毕后,继续执行表达式2。继续上面第2步的操作。

注意:

  • 3个表达式的都可以省略。
  • 对表达式1和表达式3省略,对for循环没有任何影响,只是少执行了代码而已。
  • 如果表达式2省略,表示此处为true,那么这个循环就是死循环。
  • 如果第一次检查表达式2的时候就是false,则循环体内的代码可能一次也不执行。

用for循环的时候,初始化变量的名字,最好优先使用i、j、z,如果被占用,则可以选择其他。

打印1-100

for (var i = 1; i <= 100; i++) {
    console.log(i);
}
//注意:JS中没有块级作用域

打印100 - 1

for (var i = 100; i >= 1; i--) {
  console.log(i);
}

打印1-100的和

var sum = 0;

for (var i = 1; i <= 100; i++) {
  sum += i; //同等于 sum = sum + i;
}

console.log(sum);

打印2 - 5 的乘积

var c = 1;

for (var i = 2; i <= 5; i++) {
  c *= i;
}

console.log(c);

打印1-100内能既被3整除又能被7整除的数

var str = "";
for (var i = 1; i <= 100; i++) {
  if (i % 3 == 0 && i % 7 == 0) {
    str += i + " ";
  }
}
console.log(str);

for循环 死循环 的写法

for (;;) {
  alert("死循环!!!!");
}

2.2循环的嵌套

语法如下

for (var i = 1; i <= 5; i++) {
   //外层循环的操作
  for (var j = 1; j <= 5; j++) {
    //内层循环的操作、注意:内层循环的变量不能和外层冲突
  }
}

/*
    以上代码的逻辑:先执行一次外层循环,然后在执行一轮内层循环,执行完毕后,再次执行外层循环,然后在执行一轮内层循环。。以此类推。。直到外层循环全部执行完毕或者遇到break.
*/

输入一个数字,根据数字生成一个 x * x 的组件矩阵

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

// //外层循环
for (var i = 1; i <= starNum; i++) {
  //内层循环
  for (var j = 1; j <= starNum; j++) {
    document.write("<input type='radio' checked='checked'/> ");
  }
  document.write("<br />");
}

换成控制台打印 x * x效果

//外层循环
var str = "";
for (var i = 1; i <= starNum; i++) {
  //内层循环
  for (var j = 1; j <= starNum; j++) {
    str += "*";
  }
  str += "\n";
}
console.log(str);

2.3 break语句

break: 只能适用于switch语句结构和循环语句结构中。分别表示跳出switch语句和跳出整个循环语句

必须听话才能停止。。。

for (;;) {
  var name = prompt("听话,必须输入字母'A'!否则你会一直输入!");
  if (name == "A") {
    break;
  }
}

循环条件很大,但只想要前面的某一部分

for (var i = 0; i < 10; i++) {
  if (i == 6) {
    break;
  }
  console.log(i);
}

输入两个数,求这两个数的最大公约数

/*
    两个数的最大公约数:能同时被这两个数整除的最大的那个数。
    例如:8 和 4 :4,  1 和 8 :1, 4 和 10 :2
*/
var num1 = parseInt(prompt("请输入第一个数"));
var num2 = parseInt(prompt("请输入第二个数"));

//找到最小的那个数
var minNum = (num1 <= num2 ? num1 : num2);

for (var i = minNum; i >= 1; i--) {
  if (num1 % i == 0 && num2 % i == 0) {
    console.log(i);
    break;
  }
}

输入两个数,求这两个数的最小公倍数

/*
    两个数的最小公倍数:能同时整除这两个数的最小的那个数。
    例如:8 和 4 :8, 1 和 8 :8, 4 和 10 :20
*/
var num3 = parseInt(prompt("请输入第一个数"));
var num4 = parseInt(prompt("请输入第二个数"));

//找到最大的那个数
var maxNum = num3 >= num4 ? num3 : num4;

for (var i = maxNum; i <= num3 * num4; i++) {
  if ( i % num3 == 0 && i % num4 == 0) {
    console.log(i);
    break;
  }
}

相关文章

  • 【python基础笔记3】程序的控制结构

    分支结构 循环结构 遍历循环:for语句for <循环变量> in <遍历结构>:<语句块>例如:for i in...

  • python的循环结构

    一.循环结构的语法结构一 while循环:重复到一定条件才结束的循环。(也叫条件循环) 二.循环结构的语法结构二 ...

  • Java知识之流程控制

    Java流程控制框架图 流程控制 一. 循环结构二. 分支结构三. 顺序结构 循环结构 for循环,for-eac...

  • 原生JS-03

    循环结构:所谓结构就是指能够重复执行的语句段 循环结构的分类:当型循环、直到型循环a) 当型循环:先判断循环条件...

  • Java 基础 Day05

    循环结构 循环结构的三种方式: while循环 while (循环条件 true/false) { 循...

  • Fortran复习小记

    顺序结构 控制结构:分支 控制结构:循环 当循环 迭代(计数)循环 cycle和exit cycle:如果cycl...

  • C语言基础——循环详解!

    循环:有些事情可以反复执行 算法里面三大结构之循环结构。 while 循环 do...While循环 For循环 ...

  • C语言流程控制-----if

    循环结构的种类 顺序结构 选择结构 循环结构 顺序结构 从上到下依次执行 选择结构 if条件循环 三种格式第一种格...

  • 八月十九号

    PHP中循环结构之for循环语句 for循环语句结构如下:

  • C#第四课

    一、循环 1、循环结构 循环结构作用是重复执行一段程序 循环结构是有条件的、次序是有限的 2、for循环语句 fo...

网友评论

      本文标题:循环结构(for)

      本文链接:https://www.haomeiwen.com/subject/rwsogftx.html