首页 > 编程语言 >JavaScript学习笔记—循环

JavaScript学习笔记—循环

时间:2023-01-13 12:01:01浏览次数:55  
标签:循环体 console -- JavaScript 笔记 while 循环 let 100

JS三种循环语句

  • while语句
  • do-while语句
  • for语句

通常编写一个循环,需要有三个条件:
(1)初始化表达式
(2)条件表达式
(3)更新表达式

1. while循环

  • 语法
while (condition) {
  // 代码
  // 所谓的“循环体”
}

当 condition 为真时,执行循环体的 code。

  • 示例
let i = 0;
while (i < 3) { // 依次显示 0、1 和 2
  alert( i );
  i++;
}

let ii = 3;
while(ii) { // 当 ii 变成 0 时,条件为假,循环终止
  console.log(ii);
  ii--;
}
  • 练习
// 假设银行存款的年利率为5%,问1000元存多少年可以变成5000元?
let money = 1000;
let year = 0;
while(money < 5000){
  money = money * 1.05;
  year++;
}
console.log(`需要存${year}年,最终的钱数为${money}元`);

2. do...while循环

  • 语法
do {
  // 循环体
} while (condition);

循环首先执行循环体,然后检查条件,当条件为真时,重复执行循环体。

  • 示例
let i = 0;
do {
  console.log(i);
  i++;
} while (i < 3);

这种形式的语法很少使用,除非你希望不管条件是否为真,循环体 至少执行一次。通常我们更倾向于使用另一个形式:while(…) {…}。

3. for循环

  • 语法
// 初始化表达式; 条件表达式; 更新表达式
for (begin; condition; step) {
  // ……循环体……
}
  • 示例
// 结果为 0、1、2
for (let i = 0; i < 3; i++) {
  console.log(i);
}
  • 练习
// 1. 求100以内所有3的备注(求他们的个数和总和)
let count = 0; // 计数器
let result = 0; // 计算结果
for(let i = 1; i <= 100; i++){
  // 3的倍数
  if(i % 3 === 0){
    count++;
    result = result + i;
  }
}
console.log(`100以内3的倍数一共有${count}个,总和为${result}`);
//============================================================
// 优化后的方法
for(let i = 3; i <= 100; i+=3){
  count++;
  result += i;
}
console.log(`100以内3的倍数一共有${count}个,总和为${result}`);

/*
 2. 求1000以内的水仙花数
    水仙花数:一个n位数(n >= 3),如果它各个位上数字的n次幂之和还等于这个数,那么此数即为水仙花数
    例:153 --> 1 5 3 --> 1 125 27 --> 153
*/
for(let i = 100; i < 1000; i++){
  // 取百位数 parseInt(153 / 100) --> 1
  let bai = parseInt(i / 100);
  // 取十位数 parseInt((153 - 1 * 100) / 10) --> 5
  let shi = parseInt((i - bai * 100) / 10);
  // 取个位数 153 % 10 --> 3
  let ge = i % 10;
  // 判断是否水仙花数
  if(bai**3 + shi**3 + ge**3 === i){
    console.log(i);
  }
}
// 优化后的方法,主要用字符串的特性 let str = "123" 显示每位数:str[0] str[1] str[2]
for(let i = 100; i < 1000; i++){
  let strI = i + "";
  if(strI[0]**3 + strI[1]**3 + strI[2]**3 === i){
    console.log(i);
  }
}
/*
3. 获取用户输入的大于1的整数(暂不考虑输错的情况),如果是质数打印结果
   质数:一个数如果只能被1和它本身整除,即为质数
   1不是质数也不是合数
*/
let num = +prompt("请输入一个大于1的整数:");
let flag = true;
for(let i=2; i<num; i++){
  if(num % i === 0){
    flag = false;
    break;
  }
}
if(flag){
  alert(`${num}是质数`);
}else{
  alert(`${num}不是质数`);
}

标签:循环体,console,--,JavaScript,笔记,while,循环,let,100
From: https://www.cnblogs.com/zibocoder/p/17048111.html

相关文章

  • cs231n学习笔记——Lecture11 Detection and Segmentation
    该博客主要用于个人学习记录,部分内容参考自:CS231n笔记九:图像目标检测和图像分割、2017CS231n笔记_S11分割,定位,检测一、语义分割SemanticSegmentation目标:输入图像,并对......
  • cs231n学习笔记——Lecture10 Recurrent Neural Network
    该博客主要用于个人学习记录,部分内容参考自:2017CS231n笔记_S10循环神经网络、CS231n笔记十:循环神经网络一、循环神经网络(RecurrentNeuralNetworks,RNN)1、RNN的基本结......
  • cs231n学习笔记——Lecture9 CNN Architecture
    该博客主要用于个人学习记录,部分内容参考自:[Lecture9]CNNArchitectures(CNN架构)、CNNArchitecture1、LeNetLeNet在数字识别领域的应用方面取得了成功1、AlexNet(......
  • 学习笔记:二叉平衡树之 fhp-treap
    问题背景:你需要维护一个整数集合,可以满足一下几种操作:插入一个整数xx。删除一个整数xx(若有多个相同的数,只删除一个)。查询整数xx的排名(排名定义为比当前数小......
  • 随笔记录
    在这一个无比平凡的下午,一抹斜阳挥洒在办公桌上,金色的阳光显得无比的温馨。似乎它在告诉我,温暖的春天即将来临,这是四季的开始。遗憾的是,人生却不能如四季般从头开始。我的......
  • HTMLCSS学习笔记
    HTMLCSS学习笔记定义版心类.wrapper{width:1200px;margin:0auto;}<divclass='wrapper'></div>透明的背景颜色background-color:rgba(0,0,0,0.3)......
  • 《浅谈保序回归问题》学习笔记
    1.偏序关系设$\preceq$是集合\(S\)上的一个二元关系,若\(R\)满足:自反性:\(\forallx\inS\),\(x\preceqx\);反对称性:\(\forallx,y\inS\),\(x\preceqy,y......
  • go 语言 for循环的一个坑
    1、案例1packagemainimport"fmt"typeCardstruct{ idint}funcmain(){ list:=make([]*Card,0) card:=&Card{} forindex:=1;index<10;index......
  • Arcaea 自制 | 学习笔记
    安装图形化制谱工具ArcadeZero谷歌云盘:https://drive.google.com/drive/folders/1ziY89wDWrwQJxbD-YGCSIwMwdE_WzrRE?usp=sharing关于Arcade的使用请参考https://n......
  • 零基础学习SpringBoot3笔记01_2023-01-13
    零基础学习SpringBoot3笔记01_2023-01-132023-01-131.环境1.1.软件环境安装JDK17并配置环境变量,略安装MySQL5.5并配置环境变量,略安装MySQL客户端工具HeidiSQL,略......