前段自学笔记9:JavaScript流程控制-分支

2023-10-29

1、流程控制

在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的,流程控制就是控制代码按照什么顺序执行。
包括:

  • 顺序结构:按照代码顺序执行。
  • 条件结构:根据不同条件,执行不同的代码,得到不同的结果。(if语句/switch语句)
  • 循环结构:
    在这里插入图片描述
分支结构
1、if 语句

案例

<script>
	var score = prompt('请输入您的分数:');
	if (score >= 90) {
	    alert('A');
	} else if (score>=80){
	    alert('B');
	} else if (score>=70) {
	    alert('C');
	}else if (score>60) {
	    alert('D');
	}else {
	    alert('E');
	}
</script>
2、三元组表达式: A ? B : C;

表示如果A为真,则返回B,否则返回C
案例:

<script>
    //         用户输入0~59之间的一个数字
    // 如果数字小于10,则在这个数字前面补0,(加0 拼接) 否则  不做操作
    // 用一个变量接受这个返回值,输出
    var time = prompt('请您输入一个 0 ~ 59 之间的一个数字');
    // 三元表达式   表达式 ? 表达式1 :表达式2 
    var result = time < 10 ? '0' + time : time; //   把返回值赋值给一个变量
    alert(result);
</script>
3、switch语句

根据表达式对应的case中的value值,执行对应的代码;如果没有对应的value,则执行最后的语句。

<script>
	switch(表达式) {
		case value1:
			执行语句1break;
		case value2:
			执行语句2;
			break;
		...
		default:
			执行最后的语句;
	}
</script>

switch和if语句的区别
①一般情况,二者可以相互替换;
②switch一般处理的case是确定值,而if else if用于范围较大的情况;
③switch进行条件判读后直接执行到程序的条件语句,当分支多时,执行效率更高;
④分支较少时,if else 语句执行效率高。

循环结构
1、for循环

示例:重复100次

for (初始化变量;条件表达式;操作表达式) {
}
<script>
	for (var i=1;i<100;i++) {
	    console.log('*/*/*/*');
	}
</script>
2、while循环
<script>
	while (条件表达式) {
		//循环条件
	}
	示例:
	while (num <= 100) {
	       console.log('hello');
	       num++;
	   }
</script>
3、do while循环
<script>
    // 1.do while 循环 语法结构
    do {
        // 循环体
    } while (条件表达式)
    // 执行思路 跟while不同的地方在于 do while 先执行一次循环体 在判断条件 如果条件表达式结果为真,则继续执行循环体,否则退出循环
    //示例
    var i = 1;
    do {
        console.log('how are you?');
        i++;
    } while (i <= 100)
    // do while 循环体至少执行一次
</script>
4、continue/break
continue:结束当前循环,继续后边的循环;
break:结束所有循环;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前段自学笔记9:JavaScript流程控制-分支 的相关文章

  • 声明为对象文字与函数的剔除视图模型之间的区别

    在knockout js中 我看到视图模型声明为 var viewModel firstname ko observable Bob ko applyBindings viewModel or var viewModel function
  • 从 HTML 字符串中解析和选择

    使用 ajax 调用 我返回了页面的partialView HTML 但在显示它之前 我希望从主 div 中提取信息 如果我创建一个浮动窗口 该数据只是大小信息 Code div class window details more data
  • 如何恢复文本框数据

    我有一个小小的要求 我们已经恢复了之前清除的文本框数据 下面是我的 HTML 代码 table tr td td tr table
  • 当内部元素滚动位置到达顶部/底部时防止父元素滚动?

    我有一个小 浮动工具箱 一个带有position fixed overflow auto 效果很好 但是 当在该框内滚动 使用鼠标滚轮 并到达底部或顶部时 父元素 接管 滚动请求 工具框后面的文档滚动 这很烦人 而不是用户 要求的 我正在使
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • JavaScript 字符串中的脚本标签[重复]

    这个问题在这里已经有答案了 我遇到一个问题 即 JavaScript 中带引号的字符串内有结束脚本标记 并且它正在杀死脚本 我认为这不是预期的行为 可以在这里看到这样的示例 http jsbin com oqepe edit http js
  • 如何在React Native的MapView中设置标记

    我想在React Native中的MapView上设置一个标记 但是通过官方文档找不到任何信息MapView https facebook github io react native docs mapview html content 如
  • 以下文档我无法创建 Vue.js 3 的实例

    The code https stackblitz com edit vue ttt file src main js https stackblitz com edit vue ttt file src main js 问题 我正在尝试在
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • 【shell重试脚本示例】

    handle interrupt echo Received Ctrl C to terminate the command exit 1 log info echo e echo e e 1 32m INFO e 0m 1 echo e
  • ssh远程登录协议和tcp wappers

    目录 SSH服务 优点 SSH客户端和服务端 SSH端口 配置文件 ssh原理 公钥传输原理 ssh加密通讯原理 配置OpenSSH服务端 服务监听选项 登录 scp远程复制 TCP Wrappers 策略的配置格式 轻量级自动化运维工具p
  • Qt中文手册 之 QTreeWidgetItem

    头文件 include
  • umi 导航菜单的空白页问题

    主思路 routes里的上级菜单必须设定path 否则下一个二级菜单会出现空白页 详情 umi的导航菜单是在 config routes ts 里设定的 比如 export default name home path home compo
  • 在计算机睡眠时主机关闭,电脑为什么睡眠后就关机怎么办

    1 电脑睡眠后再次启动时就关机怎么办 桌面 属性 屏幕保护程序 在下方有个 在按下计算机睡眠按钮时 你选中 待机 补充 再按下待机按钮啊 补充 你待机后 想重新打开电脑就再按下电源按钮就行了啊 不行的话桌面 属性 屏幕保护程序 电源 高级
  • MongoDB 查看集合中所有的数据

    找到mongodb的安装路径下bin目录 运行mongo exe 输入show dbs 命令 查看数据库 进入要使用的数据库 命令 use 数据库名字 查看该数据库中的集合 命令 show collections 查看里面所有的数据 命令
  • css预处理器

    一 为什么会出现css预处理器 CSS不是一种编程语言 仅仅只能用来编写网站样式 在web初期时 网站的搭建还比较基础 所需要的样式往往也很简单 但是随着用户需求的增加以及网站技术的升级 css一成不变的写法也渐渐不再满足于项目 没有类似j
  • 高并发+海量数据下如何实现系统解耦?【中】

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 一 前情提示 二 清晰划分系统边界 三 引入消息中间件解耦 四 利用消息中间件削峰填谷 五 手动流量开关配合数据库运维 六 支持多系统同时订阅数据 七 系统解耦
  • Session实现用户登录(九)

    一 创建登录页面
  • 【详细】阿里云OSS上传文件

    原文链接 https www fearlazy com index php post 319 html 1 登录OSS管理控制台 点此快速传送 登录后点击右上角的控制台 若之前没进入过OSS管理控制台 可以在中间上方进行搜索OSS 点击控制
  • mysql输入密码后闪退问题

    有时候进入mysql明明密码输入对了 但无论无何都会闪退 就类似于密码错误退出控制台的效果 导致进不来数据库 更别说开发了 解决办法 先停止mysql服务 不懂停止 找到你的mysq安装目录 里面有个my ini配置文件 编辑它 打不开 试
  • 自然语言处理的应用,自然语言处理就业前景

    自然语言处理是一项多领域交叉的技术 具有广泛的应用和就业前景 以下是一些主要的应用场景 1 智能客服 利用自然语言处理技术实现智能问答系统 自动回复 机器人客服等服务 提高客户满意度和效率 2 搜索引擎优化 自然语言处理可以帮助搜索引擎更好
  • 调试osgEarth(三十三)分页瓦片卸载器子节点的作用--(2)删除活跃的瓦片节点

    感谢 hankern 学习链接在https blog csdn net hankern article details 85407803 很遗憾 这个版本不能这么用了 unloadChildren 注释掉了 也没有扫描器了 断点设置在tra
  • 豪斯曼检验matlab,豪斯曼检验、空间面板模型选择等问题

    各位大神 本人空间计量小白 最近看了姜磊老师的书 自己也进行了实证分析 有一些问题不太懂 1 空间面板数据模型分为混合空间面板数据模型 空间固定效应空间面板数据模型 时间固定效应空间面板模型 空间和时间双固定效应的空间面板数据模型 随机效应
  • (小白嵌入式)基于S5pv210的arm初级驱动开发之环境安装(一)

    一 安装环境需要准备的资源 linux 3 0 8 tar bz2 liunx内核代码 rootfs fs210 tgz 文件系统 toolchain 4 5 1 farsight tar bz2 交叉编译工具 zImage308 内核镜像
  • Java基础--java注解

    一 什么是java注解 一 概念 1 java注解 说明程序的 是给计算机看的 也叫元数据 一种代码级别的说明 又叫java标注 是jdk1 5引入的一种注释机制 与类 接口 枚举是在同一个层次 可以声明在包 类 字段 局部变量里面 方法参
  • log4j:WARN No appenders could be found for logger 问题解决

    在springmvc的web项目中常常会在tomcat启动的时候出现这种提示 log4j WARN No appenders could be found for logger org springframework web context
  • MATLAB: cat函数使用

    参考链接 http www ilovematlab cn thread 53313 1 1 html cat 用来联结数组 用法 C cat dim A B 按dim来联结A和B两个数组 C cat dim A1 A2 A3 按dim联结所
  • vue3中element-plus的一些消息提示框,弹出框没有样式效果

    在main ts中进行样式的引入就行了 这类bug都可以这样解决 import element plus theme chalk el loading css import element plus theme chalk el messa
  • 前段自学笔记9:JavaScript流程控制-分支

    文章目录 1 流程控制 分支结构 1 if 语句 2 三元组表达式 A B C 3 switch语句 循环结构 1 for循环 2 while循环 3 do while循环 4 continue break 1 流程控制 在一个程序执行的过