TypeScript(switch判断)

avatar
作者
筋斗云
阅读量:0
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          }) 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!