7.语 句

news2024/11/17 21:31:30

7.1 表达式和语句

●表达式:
表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。
●语句:
语句是一段可以执行的代码。
比如: prompt() 可以弹出一个输入框,还有if语句、for循环语句等等

区别:
1.表达式:因为表达式可被求值,所以它可以写在赋值语句的右侧。
例如 num=3+4
2.语句:而语句不一定有值,所以比如alert() for和break等语句就不能被用于赋值。
例如 alert()弹出对话框console.log() 控制台打印输出

某些情况,也可以把表达式理解为表达式语句,因为它是在计算结果,但不是必须的成分(例如continue语句)

7.2 分支语句

1.程序三大流程控制语句
●以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构
●有的时候要根据条件选择执行代码,这种就叫分支结构
●某段代码被重复执行,就叫循环结构

2.分支语句
●分支语句可以让我们有选择性的执行想要的代码
●分支语句包含:
➢If分支语句
➢三元运算符
➢switch 语句

7.3 if语句

●if语句有三种使用:单分支、双分支、多分支
●单分支使用语法:

if (条件) {
满足条件要执行的代码
} 

➢小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
➢在if( )中所有数字除了0都为真,所有字符串除了空字符串都为真
➢如果大括号只有一个语句,大括号可以省略,但是不提倡这么做
●双分支if语法:

if (条件) {
满足条件要执行的代码
} else {
不满足条件执行的代码
}

●多分支if语法:
使用场景:适用于有多个结果的时候

if (条件1) {
代码1
} else if (条件2) {
代码2
} else if (条件3) {
代码3
} else {
代码n 
}

7.4 三元运算符

●使用场景:比if双分支更简单的写法,可以使用三元表达式
●符号:? 与 : 配合使用
语法:

条件 ? 满足条件执行的代码 : 不满足条件执行的代码

●一般用来取值

num = 3 > 5 ? 3 : 5  //num=5

7.5 switch语句

switch (数据) {
     case 值1:
        代码1 
        break
     case 值2:
        代码2
        break
     default:
        代码n
        break
}

➢找到跟小括号里数据全等的case值,并执行里面对应的代码
➢若没有全等===的则执行default里的代码

注意
1.switch case语句一般用于等值判断,不适合于区间判断
2.switch case一般需要配合break关键字使用,没有break会造成case穿透

7.6 断点调试

●作用:学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
●浏览器打开调试界面
(1)按F12打开开发者工具
(2)点到sources一栏
(3)选择代码文件
●断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来
在这里插入图片描述

7.7 while循环

while循环就是在满足条件期间,重复执行某些代码
1.while循环基本语法:

while (循环条件) {
要重复执行的代码(循环体)
}

2.while循环三要素:
循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程
所以,while循环需要具备三要素:
1.变量起始值
2.终止条件 (没有终止条件,循环会一直执行,造成死循环)
3.变量变化量(用自增或者自减)

7.8 循环退出

➢break: 退出循环
➢continue: 结束本次循环,继续下次循环.
区别:
●continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用continue
●break 退出整个循环,一般用于结果已经得到,后续的循环不需要的时候可以使用

7.9 简易ATM取款机案例

需求:用户可以选择存钱、取钱、查看余额和退出功能
分析:
①循环的时候,需要反复提示输入框,所以提示框写到循环里面
②退出的条件是用户输入了4,则结束循环,不在弹窗
③提前准备一个金额预先存储一个数额
④取钱则是减法操作,存钱则是加法操作,查看余额则是直接显示金额
⑤输入不同的值,可以使用switch来执行不同的操作
【示例代码】

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let money = 0
        while (true) {
            let num = +prompt(`
            请您选择操作:
                1.存钱
                2.取钱
                3.查看余额
                4.退出
            `)
            if (num === 4) {
                break
            }
            switch (num) {
                case 1:
                    let deposit = +prompt('请输入存款金额')
                    money += deposit
                    break
                case 2:
                    let take = +prompt('请输入取出金额')
                    money -= take
                    break
                case 3:
                    alert(`您的银行卡余额为:${money}`)
                    break
            }
        }
    </script>
</body>

</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/791914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

八、Kafka时间轮与常见问题

Kafka与时间轮 Kafka中存在大量的延时操作。 1、发送消息-超时重试机制 2、ACKS 用于指定分区中必须要有多少副本收到这条消息&#xff0c;生产者才认为写入成功&#xff08;延时 等&#xff09; Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能&#xff0c;而…

Leetcode-每日一题【剑指 Offer 03. 数组中重复的数字】

题目 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1&#xff1a; 解题思…

uni-app:模态框的实现(弹窗实现)

效果图 代码 标签 <template><view><!-- 按钮用于触发模态框的显示 --><button click"showModal true">显示模态框</button><!-- 模态框组件 --><view class"modal" v-if"showModal"><view cla…

安科瑞能源物联网以能源供应、能源管理、设备管理、能耗分析的能源流向为主线-安科瑞黄安南

摘要&#xff1a;随着科学技术的发展&#xff0c;我国的物联网技术有了很大进展。为了提升电力抄表服务的稳定性&#xff0c;保障电力抄表数据的可靠性&#xff0c;本文提出并实现了基于物联网的智能电力抄表服务平台&#xff0c;结合云计算、大数据等技术&#xff0c;提供电力…

测试老鸟经验,性能测试重点17个疑难解答,一篇打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、如何理解性能测…

三层交换基础实验

要求: 1.IP地址基于192.168.1.0/24划分 2.使用OSPF 3.使用DHCP 4.全网可达 1.配置二层交换 SW 3 <Huawei>system-view [Huawei]sysname SW3 [SW3]interface GigabitEthernet 0/0/2 [SW3-GigabitEthernet0/0/2]port link-type access [SW3-GigabitEthernet0/0/2]por…

Spring5学习笔记 — IOC

✅作者简介&#xff1a;大家好&#xff0c;我是Cisyam&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Cisyam-Shark的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&a…

XCP详解「3.1·ASAP2新建A2L文件」

返回 XCP详解「总目录」 ASAP2中新建A2L文件 通过ASAP2生成需要A2L文件更常用些 新建Database ASAP2界面打开如下 设置标定信号数量最大值 导入elf文件&#xff0c;elf路径建议直接索引编译生成的Debug下的&#xff0c;防止编译后忘记更新 加载信号 查找需要监控或者修改的变…

SDUT 2023 summer team contest(for 22) - 5

K - City 题意&#xff1a;n城市之间连接无方向的道路&#xff0c;每个道路都有能量&#xff0c;敌人发动攻击&#xff0c;来摧毁这些道路&#xff0c;如果敌人发动x的攻击&#xff0c;则所有能力小于等于x的道路都将被摧毁&#xff0c;问有有多少对城市可以到达对方 思路&am…

JAVA面试总结-Redis篇章(六)——数据过期策略

Java面试总结-Redis篇章&#xff08;六&#xff09;——数据过期策略 Redis数据删除策略——惰性删除Redis数据删除策略——定期删除 Redis数据删除策略——惰性删除 Redis数据删除策略——定期删除

三、函数-3.数值函数

一、常见函数 二、示例 -- 向上取整 2 select ceil(1.5); select ceil(1.1);-- 向下取整 1 select floor(1.2); select floor(1.9);-- 返回x/y的模&#xff08;取余&#xff09; select mod(3, 4); /* 3 */ select mod(7, 4); /* 3 */ select mod(5, 4); /* 1…

NestJS 的 提供者 学习

提供者的基本概念 在 NestJs 中有一个提供者的概念&#xff0c;提供者可以是服务、缓存、工厂、数据库连接等。 提供者的主要思想就是它可以作为依赖注入项注入到需要使用的地方&#xff0c;这样我们就可以根据业务需求和自己的想法来组建业务功能组件从而让开发的灵活性大大…

【Winform学习笔记(四)】ComboBox获取电脑串口信息

ComboBox获取电脑串口信息 前言正文1、实现方法2、具体代码3、实现效果 前言 在本文中主要介绍 如何基于 Winform 框架实现 ComboBox 下拉框控件获取电脑串口信息。 正文 1、实现方法 在窗体添加一个 ComboBox 下拉框控件&#xff1b;通过 IO.Ports.SerialPort 获取串口信息…

【前端实习评审】对小说详情模块更新的后端接口压力流程进行了人群优化

大家好&#xff0c;本篇文章分享一下【校招VIP】免费商业项目“推推”第一期书籍详情模块 前端同学的开发文档周最佳作品。该同学来自安徽科技学院土木工程专业。本项目亮点难点&#xff1a; 1.热门书籍在更新点的访问压力&#xff1b; 2.书籍更新通知的及时性和有效性&#xf…

解决了项目中几个比较搞心态的bug

1、keep-alive 正常keep-alive的使用便可以做项目的缓存&#xff0c;但是我们的项目很不正常 项目是属于动态缓存&#xff0c;动态缓存有一个弊端 举个栗子&#xff1a; a组件为设置了需要缓存的页面&#xff1b; b组件为设置了需要缓存的页面&#xff1b; c组件为设置了不需…

讲解 @ServletComponentScan注解

目录: 1、用法介绍2、实例讲解 1、介绍 在SpringBoot项目启动器中添加ServletComponentScan注解后&#xff0c;SpringBoot在启动时会扫描并注册所有带有WebServlet&#xff08;控制器&#xff09;、WebFilter&#xff08;过滤器&#xff09;、WebListener&#xff08;监听器&a…

自定义字体服务 - 基于Node的Web字体解决方案

自定义字体服务 - 基于Node的Web字体解决方案 背景技术选型font-face介绍实现方案&#xff08;介绍字体设计、转换、兼容性处理等技术实现细节。&#xff09;接口实现方式&#xff08;实现中遇到的问题和解决方案&#xff09;总结开源地址参考 背景 在前端开发中&#xff0c…

MySQL中LEFT JOIN的用法

原理 LEFT JOIN 关键字返回左表&#xff08;table1&#xff09;中的所有记录&#xff0c;以及右表&#xff08;table2&#xff09;中的匹配记录&#xff08;如果有&#xff09; 注意&#xff1a; LEFT JOIN 关键字返回左表&#xff08;Customers&#xff09;中的所有记录&…

家具小程序搭建攻略

要想快速搭建一个家具小程序商城&#xff0c;乔拓云平台是一个非常方便的选择。下面就来详细介绍一下制作的具体步骤。 首先&#xff0c;登录乔拓云平台&#xff0c;进入后台管理页面。在页面上找到【商城】选项&#xff0c;点击【去管理】进入后台管理页面。 在后台管理页面中…

【算法与数据结构】222、LeetCode完全二叉树的节点个数

文章目录 一、题目二、一般遍历解法三、利用完全二叉树性质四、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、一般遍历解法 思路分析&#xff1a;利用层序遍历&#xff0c;然后用num记录节点数量。其他的例如…