目录

流程控制

条件判断语句


流程控制

  1. 条件判断语句
  2. 条件分支语句
  3. 循环语句

条件判断语句

if语句

语法:if(条件表达式){语句}-------if(a > 10){alert('a比10大')}

if-else语句

语法:if(条件表达式){语句...} else {语句...      }-------------------let age = 10if(age > 18){alert("今年成年了")}else{alert("没有成年")}

if-else-if

语法:if(条件表达式){语句...} else if(条件表达式){语句...      }-----会自上向下依次对if后的表达式进行判断,如果表达式条件为true,就执行当前的语句,如果为false,就继续向下执行,如果都不满足,就执行最后的else之后的语句--------------------if(age >= 100){alert('你真是一个长寿的人!')}else if(age >= 80){alert('你比楼上那位还年轻不小!')}else if(age >= 60 ){alert('你已经退休了!')}else if(age >= 30){alert('你已经步入中年了!')}else if(age >= 18){alert('你已经成年了!')}else{alert('你还未成年!')}

小练习:

 - 练习1:编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
------------------------//它会将用户输入的内容以字符串的形式返回,可以通过变量来接收let num = +prompt("请输入一个整数:")if (isNaN(num) || num % 1 !== 0) {alert("你的输入有问题,请输入整数!")} else {if (num % 2) {alert(num + "这个数是奇数")} else {alert(num + "这个数是偶数")}}
 - 练习2:从键盘输入小明的期末成绩:当成绩为100时,'奖励一辆BMW'当成绩为[80-99]时,'奖励一台iphone'当成绩为[60-79]时,'奖励一本参考书'其他时,什么奖励也没有----------------let score = +prompt("请输入您的期末成绩:")if (isNaN(score) || score < 0 || score > 100) {alert('请输入一个合法的分数')} else {if (score === 100) {alert('奖励一辆BMW')} else if (score >= 80 && score <= 99) {alert('奖励一台iphone')} else if (score >= 60 && score <= 79) {alert('奖励一本参考书')} else {alert('什么奖励也没有')}}
      - 练习3:大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上; 富:1000万以上; 帅:500以上;如果这三个条件同时满足,则:'我一定要嫁给他'如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'如果三个条件都不满足,则:'不嫁!'
-----------------let height = +prompt('请输入你的身高(厘米):')let money = +prompt('请输入你的身价(万):')let face = +prompt('请输入你的颜值(像素):')if(height>180 && money>1000 && face>500){alert('我一定要嫁给他!')}else if(height>180 || money>1000 || face>500){alert('嫁吧,比上不足,比下有余。')}else{alert('不嫁!')}

switch语句

- 语法:switch(表达式){case 表达式:代码...breakcase 表达式:代码...breakcase 表达式:代码...breakcase 表达式:代码...breakdefault:代码...break}

​执行的流程

 -  switch语句在执行时,会依次将switch后的表达式和case后的表达式进行全等比较        - 如果比较结果为true,则自当前case处开始执行代码        - 如果比较结果为false,则继续比较其他case后的表达式,直到找到true为止        - 如果所有的比较都是false,则执行default后的语句-
  • 注意:
    - 当比较结果为true时,会从当前case处开始执行代码

    • 也就是说case是代码执行的起始位置
    • 这就意味着只要是当前case后的代码,都会执行
  • 可以使用break来避免执行其他的case-
    - 总结

    • switch语句和if语句的功能是重复,switch能做的事if也能做,反之亦然。
    • 它们最大的不同在于,switch在多个全等判断时,结构比较清晰

while循环

语句:
while(条件表达式){语句....}
-----------------三个条件要点:1.初始化表达式(初始化变量)2.条件表达式(设置循环条件)3.更新表达式(修改初始化变量)
---------let i = 0while(i<5){alert('666')i++}
----------------
小练习:假设银行存款的年利率为5%,问1000快存多少年可以变成5000块let year = 0let money = 1000while(money < 5000){money *= 1.05 // 循环没执行一次,就相当于钱存了一年year++}console.log(`需要存${year}年,最终的钱数为${money}元!`)

执行流程:

​while语句在执行时,会先对表达式进行判断,

​如果结果为true,则执行循环体,执行完毕,继续判断,

​如果为true,则再次执行循环体,执行完毕,继续判断,如此重复

​直到条件表达式结果为false时,循环结束

do-while语句

 do-while循环- 语法:do{语句...}while(条件表达式)- 执行顺序:do-while语句在执行时,会先执行do后的循环体,执行完毕后,会对while后的条件表达式进行判断如果为false,则循环终止如果为true,则继续执行循环体,以此类推和while的区别:while语句是先判断再执行do-while语句是先执行再判断实质的区别:do-while语句可以确保循环至少执行一次

for语句

 for循环- for循环和while没有本质区别,都是用来反复执行代码- 不同点就是语法结构,for循环更加清晰- 语法:for(①初始化表达式; ②条件表达式; ④更新表达式){③语句...}- 执行流程:① 执行初始化表达式,初始化变量② 执行条件表达式,判断循环是否执行(true执行,false终止)③ 判断结果为true,则执行循环体④ 执行更新表达式,对初始化变量进行修改⑤ 重复②,知道判断为false为止- 初始化表达式,在循环的整个的生命周期中只会执行1次- for循环中的三个表达式都可以省略- 使用let在for循环的()中声明的变量是局部变量,只能在for循环内部访问使用var在for循环的()中声明的变量可以在for循环的外部访问- 创建死循环的方式:while(1){}for(;;){}----------------------for(let i = 0; i < 5; i++){console.log(i)}

小练习

练习1:求100以内所有3的倍数(求他们的个数和总和)let count = 0let sum = 0for (let i = 1; i <= 100; i++) {if (i % 3 === 0) {count++sum += i}}console.log(`他们的个数是${count},总和是${sum}`)
----------------------------------
练习2:求 1000 以内的水仙花数(1-1000)- 水仙花数- 一个n位数(n >= 3),如果它各个位上数字的n次幂之和还等于这个数,那么这个数就是一个水仙花数- 153 --> 1  5  3 --> 1  125  27 --> 153
法1:let count = 0for (let i = 100; i < 1000; i++) {//1. 先得到1000以内得所有数字// 2.得到数字得个位,十位,百位得数字,进行运算// 获取个位的let oneNum = i % 10// 获取十位的let twoNum = parseInt(i / 10 % 10)// 获取百位的let threeNum = parseInt(i / 100)console.log()let allSum = oneNum ** 3 + twoNum ** 3 + threeNum ** 3if (allSum === i) {console.log("水仙花数" + i)count++}}console.log('水仙花的个数是:' + count)法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的整数:")// 用来记录num的状态,默认为true,num是质数let flag = truefor(let i=2; i<num; i++){if(num % i === 0){// 如果num能被i整除,说明num一定不是质数   // 当循环执行时,如果从来没有进入过判断(判断代码没有执行),则说明9是质数// 如果判断哪怕只执行了一次,也说明 9 不是质数  flag = false}}if(flag){alert(`${num}是质数!`)}else{alert(`${num}不是质数!`)}
倒三角:for (let i = 0; i < 5; i++) {for (let j = 0; j < 5 - i; j++) {document.write("*&nbsp;&nbsp;")}document.write("<br>")}
正三角:for (let i = 0; i < 5; i++) {for (let j = 0; j < i + 1; j++) {document.write("*&nbsp;&nbsp;")}document.write("<br>")}
矩形:for (let i = 0; i < 5; i++) {// 创建一个内层循环来控制图形的宽度for (let j = 0; j < 5; j++) {document.write("*&nbsp;&nbsp;")}document.write("<br>")}
九九乘法表小练习:
//只要掌握正三角的方法,写九九乘法表亦如反掌for (let i = 0; i < 9; i++) {for (let j = 0; j < i + 1; j++) {document.write(`${i + 1}*${j + 1}=${(i + 1) * (j + 1)}&nbsp;&nbsp;`)}document.write("<br>")}

break和continue的区别

           break和continue- break- break用来终止switch和循环语句- break执行后,当前的switch或循环会立刻停止- break会终止离他最近的循环- continue- continue用来跳过当次循环----------------------------for (let i = 0; i < 5; i++) {console.log(i)for (let j = 0; j < 5; j++) {if (j === 1) continueconsole.log("内层循环--->", j)}}

JavaScript—流程控制语句的合集相关推荐

  1. 6759字25个APP测试流程以及资料合集【乐搏TestPro】

    App测试流程及资料合集 / 1 / 测试理论知识:跟其他web等测试一样: 如果基础不够建议先看书:给软件测试从业者推荐6本书籍 / 2 / 整体测试流程:同web类似 具体差异化见下方内容 / 3 ...

  2. JavaScript流程控制语句

    JavaScript流程控制语句 4.1.语句的定义 ​ 在ECMAScript 中,所有的代码都是由语句来构成的.一行代码就是一条简单语句.形式上可以是单行语句,或者由一对大括号"{}&q ...

  3. (七)JavaScript 流程控制语句

    文章目录 JavaScript 流程控制语句 一.选择语句 1. if 语句 (1) if 语句的基本使用 (2) if else if 多条件分支 2. switch 语句 (1) switch 语 ...

  4. [JavaWeb-JavaScript]JavaScript流程控制语句

    流程控制语句: 1. if...else...2. switch:* 在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7) ...

  5. JavaScript 数组去重方法合集(简洁易懂)

    JavaScript数组去重 JavaScript去重的七种方法 简单易懂 方法一:暴力去重法 // 暴力去重法 function ArrayIsUnique (array) {if (!Array. ...

  6. JavaScript 流程控制语句

    1.if语句 1 <script> 2 $(document).ready(function(){ 3 $("#Button1").click(function(){ ...

  7. 从零开始学WEB前端——JavaScript流程控制语句

  8. web前端-JavaScript流程控制语句(条件判断,条件分支和循环语句)

  9. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

最新文章

  1. PHP 调用C的代码
  2. java inputstream类_Java高级[7]:DataInputStream相关类的使用
  3. 实验5 数据查询--连接查询
  4. MaxCompute管家详解--管家助力,轻松玩转MaxCompute
  5. SpringBoot项目中Controller层代码编写规范整理
  6. isis network-entity 49含义_电影《狮子王》真人版上映,经典英语台词背后的含义你看懂了吗...
  7. Classifier4J的中文支持
  8. 大规模细粒度分类和特定领域的迁移学习
  9. Twproject Gantt – 开源的 JavaScript 甘特图组件
  10. LeetCode12 整数转罗马数字
  11. vgremore 删除卷组
  12. hadoop面试题汇总
  13. 弘辽科技:淘宝店铺信用等级怎么看?信用等级怎么提升?
  14. 【虚拟化生态平台】虚拟化平台搭建
  15. python 基金绩效归因
  16. Linux下修改MAC值
  17. 编写一个简单的NodeBB插件
  18. kubeadm 常用命令
  19. 醉林疯的OJ 1063: 最大公约与最小公倍
  20. 过滤对象属性值为空的属性

热门文章

  1. win10下的RNA测序(二)
  2. mnist数据集数据_应用于mnist数据集的拓扑特征
  3. 浅谈Base64编码规则
  4. 雷军:中国的乔布斯?!--没人看我来转,疑似水文,太晚了,稍侯拍砖
  5. 论文翻译:自然场景文本检测与识别综述
  6. C++编写高校学生成绩查询系统
  7. 福州计算机专业初级职称考试,目前有哪些专业技术资格即职称实行“以考代评”?...
  8. MapReduce实验——英语单词频次统计实验
  9. C++之状态(State)模式
  10. 域格ASR1803模块升级注意事项