JS ATM练习案例(复习循环知识)

2024-03-13 22:04

本文主要是介绍JS ATM练习案例(复习循环知识),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:用户可以选择存钱、取钱、查看余额和退出功能。

分析:1循环时反复出现提示框,所以提示框写到循环里面。

2.退出的条件是4,所以是4就会结束循环

3.提前准备一个金额预存储

4取钱为减法操作,存钱为加法操作,查看为直接显示数额。

5输入不同的值,可以用switch来执行不同操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>  let money = 100;  while (true) {  let re = +prompt(`  请您选择操作:  1.存钱  2.取钱  3.查看余额  4.退出`);  if (re === 4) {  break;  }  switch (re) {  case 1:  let cun = +prompt(`请输入存款金额`);  if (cun >= 0) {  money += cun;  alert('存款成功'); // 添加操作成功提示  } else {  alert('存款金额必须为非负数'); // 更改错误提示  }  break; // 添加break语句  case 2:  let qu = +prompt(`请输入取款金额`);  if (qu >= 0 && qu <= money) { // 确保取款金额不超过余额  money -= qu;  alert('取款成功'); // 添加操作成功提示  } else {  alert('取款金额错误或余额不足'); // 更改错误提示  }  break; // 添加break语句  case 3:  alert(`金额为: ${money}`);  break;  }  }  </script>
</body>
</html>

这里的+号将字符串转化成数字类型

break退出整个循环

continue退出本次循环,进入下一次循环。

do while 循环先执行一次再判断循环

在 JavaScript(以及其他许多编程语言中),do...while 循环是一种后测试循环,意味着循环体至少会执行一次,然后才会检查条件以确定是否应继续循环。这与 while 循环不同,while 循环会在每次迭代之前检查条件,因此如果条件从一开始就不满足,循环体可能一次都不会执行。

switch case和if else都是编程中常用的条件判断语句,但它们之间存在一些关键的区别。

  1. 使用场景
  • switch case通常用于处理具有多个离散值的情况,特别是当这些值是常量或枚举类型时。它通常用于处理算术表达式或字符。
  • if else则更加灵活,可以用于各种条件判断,包括范围判断(大于、小于或等于某个范围)。其判断条件可以是逻辑表达式,布尔类型的合法表达式,常量,枚举等。
  1. 执行效率
  • 当分支较少时,if else语句的执行效率通常比switch case高,因为if else不需要生成跳转表。
  • 当分支较多时,switch case的执行效率更高。这是因为switch case确定了选择值之后直接跳转到那个特定的分支,而if else需要遍历所有条件分支直到找到匹配的条件。
  1. 代码可读性
  • 当分支较多时,使用switch case语句可以使代码结构更清晰,提高代码的可读性。
  • 相比之下,if else语句在分支较多时可能会使代码显得较为混乱。
  1. 空间占用
  • switch case语句会生成一个跳转表来指示实际的case分支的地址,这占用了较多的代码空间。特别是当case常量分布范围很大但实际有效值又比较少时,switch case的空间利用率会变得很低。
  • if else则不需要生成跳转表,因此在空间占用上通常优于switch case。
  • switch注意全等问题,=== 注意类型的转化

循环for 

基本使用:

作用:重复执行代码

1.for 循环语法

for(起始值;终止条件;变量变化量){

循环体

}

for(i=1;i<=5;i++){document.write('变得有钱')
}

首先i=1,进行条件判断,符合条件执行一次。

i++进行自增,然后继续判断条件

直到不符合条件退出循环。

循环练习:

1.利用循环输出1-100岁

2.求1-100所有的偶数

3.页面中打印5个星星

        for (var i = 0; i < 100; i++) {document.write("  " + i);}let sum = 0for (let i = 0; i <= 100; i++) {if (i % 2 == 0) {sum += i}}document.write(sum);for (let a = 1; a <= 5; a++) {document.write("*");}

for循环最大价值循环数组

遍历:从第一个循环到最后一个

        let arr = ['刘德华', '马士兵', '王凡', '李毅', '张博']for (var i = 0; i < arr.length; i++) {console.log(arr[i]);}

这篇关于JS ATM练习案例(复习循环知识)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806330

相关文章

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no