TypeScript(switch判断)

news2024/9/25 1:24:13
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=isChecked
        this.isJ=isChecked
      })
      .checked(this.isJ)
    Text('剪刀').fontSize(30)
    Radio({value:'石头',group:'gm'})
      .onChange((isChecked:boolean)=>{
        promptAction.showToast({message:`石头:${isChecked}`})
        this.userCz='石头'
        // this.isC=isChecked
        this.isS=isChecked

      })
      .checked(this.isS)
    Text('石头').fontSize(30)
    Radio({value:'布',group:'gm'})//group:分组
      .onChange((isChecked:boolean)=>{
        promptAction.showToast({message:`布:${isChecked}`})
        this.userCz='布'
        // this.isC=isChecked
        this.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=0
          this.cY=0
          this.pY=0
          //初始化单选的选项
          this.isJ=false
          this.isS=false
          this.isB=false

        })

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

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

相关文章

CSDN选择:腾讯cdn缓存跟阿里云cdn对比

在如今互联网迅速发展的时代,内容分发网络(CDN)变得越来越重要。而在众多CDN提供商中,腾讯云和阿里云的CDN服务无疑是具代表性的两家。那么,这两家的CDN服务究竟有何差异?哪一家更值得选择呢?今…

Python WSGI服务器库之gunicorn使用详解

概要 在部署 Python Web 应用程序时,选择合适的 WSGI 服务器是关键的一步。Gunicorn(Green Unicorn)是一个高性能、易于使用的 Python WSGI HTTP 服务器,适用于各种应用部署场景。Gunicorn 设计简洁,支持多种工作模式,能够有效地管理和处理大量并发请求。本文将详细介绍…

【Canvas与艺术】八角大楼

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>八角大楼</title><style type"text/css">.cen…

System,InvalidOperationException:未在本地计算机,上注册“Microsoft.ACE,OLEDB.12.0”提供程序。

未在本地计算机,上注册“Microsoft.ACE,OLEDB.12.0”提供程序 问题原因分析解决方案&#xff1a;第一步第二步 问题 本地导入excel没有问题&#xff0c;发布到服务器上出现System,InvalidOperationException:未在本地计算机,上注册“Microsoft.ACE,OLEDB.12.0”提供程序。 原…

tls.go中的流程梳理

文章目录 tls.go中的流程梳理b站博主的 tls 加密过程自己推理的过程(未完待续)发送ClientHello获取ServerHello tls.go中的流程梳理 b站博主的 tls 加密过程 客户端发送ClentHello(tls版本 加密套件 随机数1)服务器发送ServerHello(tls版本 加密套件 随机数2) 这个阶段之后&…

PLM选型指南:如何选择适合自己企业的系统?

导语&#xff1a;在当前的市场竞争中&#xff0c;制造环节的利润逐渐被压缩&#xff0c;企业亟需寻求新的利润增长点来抢占更多市场份额。企业之间的竞争已不再仅仅是产品质量的较量&#xff0c;更是产品创新速度与效率的角逐。由此&#xff0c;研发创新成为企业转型升级的破局…

Swin Transformer和vit

Swin Transformer最为关键的设计在于连续自注意力层间&#xff0c;特征图上的窗划分口实现了半个窗宽的移动。这使得前一层的窗口间可以实现交互和联系&#xff0c;大幅度提升了模型的表达能力。同时在同一窗口内的查询都拥有相同的key序列&#xff0c;使得硬件内存更容易实现大…

【AI冰封挑战】搭档函数计算,“冰”封你的夏日记忆

在 AI 绘画领域&#xff0c;Stable Diffusion、 WebUI、Midjourney 等工具各领风骚&#xff0c;但 ComfyUI 以其独特的自动化工作流机制&#xff0c;自问世以来便迅速崭露头角&#xff0c;成为众多应用开发者和艺术创作者的新宠。它不仅革新了 AI 生图的创作流程&#xff0c;更…

环网自愈型RS485转光纤

一、概述 工业级双环光纤自愈RS485 转 光纤。工业现场总线光通讯中光纤双环网自愈是 一种有效 的高可靠通讯方式 。双环 自愈光 纤 Modem 采用光纤传输技术&#xff0c;专为工业自动化、 SCADA(数据采集及监控)等工业环境的远程数 据通讯而设计&#xff0c;该产品主用实现48…

nvm管理node版本问题处理集合

windows上通过nvm管理node版本&#xff0c;通过nvm安装node&#xff0c;报错了&#xff0c;信息&#xff1a; > Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt. Get > https://nodejs.org/dist/latest/SHASUMS256.txt: dial tcp 104.20.23.46:443: …

手把手教你打包Python项目为whl文件

目录 1&#xff0c;打包whl文件作用 2&#xff0c;单个Python文件打包 1、程序目录 2、程序内容 3、打whl包 4、将whl包导入环境 ​编辑 5、查看效果 6、代码验证 3、多个python文件打包 1、程序目录 ​编辑 2、程序内容 3、打whl包 ​编辑 4、将whl包导入环境 …

C# Unity 面向对象补全计划 泛型

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 1.什么是泛型 泛型&#xff08;Generics&#xff09;是C#中的一个强大特性&#xff0c;允许你编写可以适用于多种数据类型的可重用代码&#xff0c;而不需要重复编写…

Canvas实现截图

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>canvas实现截图功能</title><style>.ca…

大型赛事5G室内无线网络保障方案

大型活动往往才是国家综合实力的重要体现&#xff0c;其无线网络通信保障工作需融合各类新兴的5G业务应用&#xff0c;是一项技术难度高、方案复杂度高的系统工程。尤其在活动人员复杂、现场突发情况多、网络不稳定等情况下&#xff0c;如何形成一套高效、稳定的应急通信解决方…

Maven的补充(在IDEA中配置,创建Maven项目)

目录 选择版本 已经创建项目中配置 点击最测的设置- CtrlAltS 点击左侧的Maven&#xff0c;我们只需要修改我标记的 未创建项目配置 点击自定义 进入设置界面&#xff0c;选择构建&#xff0c;执行&#xff0c;部署---构建工具----Maven 开始创建项目 我们要改变两个地…

java开发环境搭建基础之3----开发工具eclipse中Maven配置

一.背景 公司安排了带徒弟任务&#xff0c;写点基础的环境搭建这些吧。搭建基础开发环境&#xff0c;主要是jdk、eclipse、git、maven、mysql。后续再考虑编写jenkins、nexus、docker、1panel等CI/CD环境搭建。本次主要内容是eclipse中maven环境的配置。我的开发环境&#xff0…

Linux安装 Redis

Linux 安装 Redis 1、下载、解压 下载方式为两种&#xff1a;官网、网盘 官网&#xff1a; 我这里下载了&#xff1a;7.0.5 网盘&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1A_-ZL3x3Xa5YNlcDqyuV_A?pwdg8jh 提取码&#xff1a;g8jh 解压&#xff1a; 将…

Helm 学习之路,一文弄懂

1. 什么是 Helm 1.1 概述 Helm 是 Kubernetes 应用程序的包管理器,和redhat中yum 管理包类似. 1.2 架构图v3 1.3 下载 官当 最新版本 官方github curl -LO https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz 1.4 安装 解压 #由于是二进制,直接解压到/usr/local/b…

【LabVIEW学习篇 - 12】:通知器

文章目录 通知器案例一案例二案例三&#xff08;在不同VI中用同一个通知器&#xff09; 通知器 同步技术&#xff1a;同步技术用来解决多个并行任务之间的同步或通信问题。 通知器比较适合一对多的操作&#xff0c;类似于广播&#xff0c;一点发出的通知消息&#xff0c; 其它…

【开源】嵌入式Linux(IMX6U)应用层综合项目(2)--智能家居APP

目录 1.简介 1.1功能介绍 1.2技术栈介绍 1.3演示视频 1.4硬件介绍 2.软件设计 2.1智能家居UI设计 2.2.main函数 3.结尾&#xff08;附网盘链接&#xff09; 1.简介 此文章并不是教程&#xff0c;只能当作笔者的学习分享&#xff0c;只会做一些简单的介绍&#xff0c;其…