当前位置: 首页 > news >正文

TypeScript(switch判断)

1.switch 语法用法
switch是对某个表达式的值做出判断。然后决定程序执行哪一段代码
case语句中指定的每个值必须具有与表达式兼容的类型

语法switch(表达式){

case 值1:

​ 执行语句块1

break;

case 值2:

​ 执行语句块3

break;

dfault:

//如果以上所有case都不匹配,执行默认语句块

}

如:

//  买彩票
//中100万  买五菱
// 中50万  买雅迪电车
// 中10万 买捷安特
// 中10块  买个冰棍
// 其他  买个锤子
let money: number = 10;
switch (money) {case 1000000:console.log('买五菱');break;case 500000:console.log('买雅迪');break;case 100000:console.log('买捷安特');break;case 10:console.log('买个冰棍');break;default:console.log('买个锤子');
}
switch语句的执行顺序是,首先计算表达式的值,然后将该值与每一个case的值进行比较,如果找到匹配的case,则执行该case下的语句,直到遇到break语句或Switch语句结束。如果没有找到匹配的case,且存在default子句,就执行default。
2.剪刀石头布
2.1 页面

在这里插入图片描述

2.2变量
// 定义变量@State userCz:string=''//用户初中@State comCz:string=''//电脑出招@State res:string=''//结果@State uY:number=0//用户赢的次数@State cY:number=0//电脑赢次数@State pY:number=0//平局@State isJ:boolean=false//选中状态@State isS:boolean=false//选中状态@State isB:boolean=false//选中状态
2.3处理用户出招
Row(){Radio({value:'剪刀',group:'gm'}).onChange((isChecked:boolean)=>{promptAction.showToast({message:`剪刀:${isChecked}`})this.userCz='剪刀'// this.isC=isCheckedthis.isJ=isChecked}).checked(this.isJ)Text('剪刀').fontSize(30)Radio({value:'石头',group:'gm'}).onChange((isChecked:boolean)=>{promptAction.showToast({message:`石头:${isChecked}`})this.userCz='石头'// this.isC=isCheckedthis.isS=isChecked}).checked(this.isS)Text('石头').fontSize(30)Radio({value:'布',group:'gm'})//group:分组.onChange((isChecked:boolean)=>{promptAction.showToast({message:`布:${isChecked}`})this.userCz='布'// this.isC=isCheckedthis.isB=isChecked}).checked(this.isB)Text('布').fontSize(30)}.width('100%').height(50).justifyContent(FlexAlign.SpaceBetween)
2.4电脑出招
 Button('电脑出招').onClick(()=>{//用户出招了if(this.userCz!==''){// Math.random()  产生0~1之间的一个小数//0剪刀  1石头  2布let num:number=parseInt(`${Math.random()*3}`)// promptAction.showToast({message:`${num}`})switch (num){case 0:this.comCz='剪刀'break;case 1:this.comCz='石头'break;case 2:this.comCz='布'break;}
2.5数据统计
Text(`赢:${this.uY}`).fontSize(30).fontColor("red").width('40%')Text(`败:${this.cY}`).fontSize(30).fontColor("red").width('40%')Text(`平:${this.pY}`).fontSize(30).fontColor("red").width('40%')Text(`总:${this.uY+this.cY+this.pY}`).fontSize(30).fontColor("red").width('40%')// Text(`胜率:${this.uY/(this.uY+this.cY+this.pY)}`).fontSize(30).fontColor("red").width('40%')Text(`胜率:${this.uY}/${(this.uY+this.cY+this.pY)}`).fontSize(30).fontColor("red").width('40%')
2.6重新开始
 Button('重新开始').onClick(()=>{//清零  重新初始化this.userCz=''this.comCz=''this.res=''this.uY=0this.cY=0this.pY=0//初始化单选的选项this.isJ=falsethis.isS=falsethis.isB=false})
http://www.lryc.cn/news/412972.html

相关文章:

  • 血细胞自动检测与分类系统:深度学习与UI界面的结合
  • 鸿蒙Flex布局
  • 开发自己的 Web 框架
  • 用于自动驾驶的基于立体视觉的语义 3D 对象和自我运动跟踪
  • Spring@Autowired注解
  • 32.x86游戏实战-使用物品call
  • Prometheus+Alertmanager+邮件告警
  • upload-labs漏洞靶场~文件上传漏洞
  • PostgreSQL 高阶函数详解:全面深入的功能与实用示例
  • Redis——集合 SET
  • openEuler安装docker
  • 每天一个数据分析题(四百六十五)- 缺失值
  • 干货 | 变频器的详细介绍
  • Linux线程2
  • 乱弹篇(40)人类追求长寿
  • 技术详解:互联网医院系统源码与医保购药APP的整合开发策略
  • N4 - Pytorch实现中文文本分类
  • centos 如何安装sox音视频处理工具
  • Java语言程序设计——篇十一(2)
  • Linux 应急响应靶场练习 1
  • AWS-Lambda的使用
  • python3.12 搭建MinerU 环境遇到的问题解决
  • 基于SpringBoot+Vue的流浪猫狗救助救援网站(带1w+文档)
  • 56_AOP
  • 安装了h5py,使用报错ImportError: DLL load failed while importing _errors
  • BootStrap前端面试常见问题
  • 在linux运维中为什么第一道防线是云防火墙,而不是waf
  • 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛
  • 多语言海外AEON抢单可连单加额外单源码,java版多语言抢单系统
  • 文件上传——springboot大文件分片多线程上传功能,前端显示弹出上传进度框