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

JS流程控制语句_选择分支

1、if语句
在一个 指定的条件成立时执行某一段代码(执行语句)
语法:
if(条件表达式){
   //代码块;
}
if(条件表达式){
  //代码块1;
}else{
  //代码块2;
}
 如果条件表达式1成立,就不会执行下面的 else if
if(条件表达式1){
   //执行体1;
}else if(条件表达式2){
   //执行体2;
}else{
   //执行体3;
}
步骤一:首先判断条件表达式1,如果为true,则执行代码块1,如果为false,则不执行代码块1,代码继续往下;
步骤二:首先判断条件表达式2,如果为true,则执行代码块2,如果为false,则不执行代码块2,代码继续往下;
步骤三:如果所有条件表达都为false,则执行最后else语句里的代码块4;如果之前已经符合条件判断的则不会执行else里的代码块
<script>
    let a=17;
    if (a>18){
        document.write("可以上网!");
    }else {
        document.write("年龄未满,不可以再来!");
    }
    //prompt 是输入框,为输入时默认值是60
    let grade=prompt("请输入你的成绩:");
    if (100>grade&&grade>=90){
        //document.write("奖励游戏机");
        alert("奖励游戏机");
    }else if (90>grade&&grade>=79){
        document.write("奖励台湾一日游")
    }else if (79>grade&&grade>=70){
        document.write("奖励100元")
    }else if (69>grade&&grade>=60){
        document.write("奖励两张试卷")
    }else if (0<grade&&grade<=59){
            document.write("奖励大嘴巴子")
    }else{
        document.write("输入有误!")
    }
</script>
2、用户在网页中输入的方法
prompt("");   //参数1:提示信息;参数2:默认值;
3、JS的判断条件的输入值的结果
数据类型(NaN除外)
true
false
number
非0
0
string
非空串
空串
object
非空
Null
undefined
永远都是假的
NaN(not a number)
永远都是假的
注意:建议写代码的时候,判断条件使用boolean类型
<script>
    //数值类型只有0是假的,其他都是真的
    if (0){
        document.write("真"+"<br/>");
    }else{
        document.write("假"+"<br/>");
    }
    //字符串类型,只有空串是假的,其他都是真的
    if (""){
        document.write("真"+"<br/>");
    }else{
        document.write("假"+"<br/>");
    }
    //对象类型,只有null是假的,
    var person =null;   //打印出来是object(有等号)   var per; 这个打印出来是undefined(没有等号)
    if (null){
        document.write("真"+"<br/>");
    }else{
        document.write("假"+"<br/>");
    }
    //undefined类型,未定义的永远都是假的
    if (u){
        document.write("真"+"<br/>");
    }else{
        document.write("假"+"<br/>");
    }
    //字符串类型,只有空串是假的,其他都是真的
    let e;
    if (""){
        document.write("真"+"<br/>");
    }else{
        document.write("假"+"<br/>");
    }
    
    //NaN:本身不是一个数据类型,而是开发人员的代码中的不被JS编译的内容
    if (+"<i>"){
        document.write("真"+"<br/>");
    }else {
        document.write("假"+"<br/>"+e);
    }
</script>
4、switch 语句
语法:
//变量名也可以直接写死为true ,还可以写表达式
switch(变量名){
     case 常量值:
      break;
     case 常量值:
      break;
     default:
      break;
}
解析执行过程:如果变量名等于某个分支的常量值,就执行这个代码块;如果所有的条件都不满足就执行default里面的代码块。
switch(true){
     case 表达式:
      break;
     case 表达式:
      break;
     default:
      break;
}
//练习一:
<script>
    //需求:用户输入1——12月的数字,如果不是则输出:您输入的月份不正确。
    //如果输入的是,则打印出季节 234春季  567夏季  8910秋季 11 12 1冬季
    let yea=parseInt(prompt("请输入月份:"));
    switch (yea) {
        case 2:
        case 3:
        case 4:
            alert("现在是春季!");
            break;
        case 5:
        case 6:
        case 7:
            alert("现在是夏季!");
            break;
        case 8:
        case 9:
        case 10:
            alert("现在是秋季!");
            break;
        case 11:
        case 12:
        case 1:
            alert("现在是冬季!");
            break;
        default:
            alert("您输入的不是数字!");
            break;
    }
</script>
//练习二:
<script>
    //prompt 是输入框,为输入时默认值是60
    let grade=parseInt(prompt("请输入你的成绩:"));
    switch (true) {  //注意:这里不可以用1代替true,在switch中不可以这样做
        case (100>grade&&grade>=90):
            alert("奖励游戏机");
            break;
        case (90>grade&&grade>=80):
            alert("奖励台湾一日游");
            break;
        case (80>grade&&grade>=70):
            alert("奖励100元");
            break;
        case (70>grade&&grade>=60):
            alert("奖励两张试卷");
            break;
        case (0<grade&&grade<=60):
            alert("奖励大嘴巴子");
            break;
        default:
            alert("输入有误!");
            break;
    }
</script>
注意:在js当中,比较运算符 会自动将字符串转换成数值型进行
小结
如果switch的case后面要使用表达式,switch后面的值 一定要写成true

相关文章:

  • Mycat配置文件详解
  • 【测试理论基础之小程序/h5】
  • 动规(24)-并查集基础题——关押罪犯
  • 剪枝Prune
  • Mybatis是如何运用设计模式的?
  • 短视频消重去重九种方法,组合使用原创度更高,各平台轻松过原创
  • Java使用默认线程池的陷阱问题
  • Android12启动崩溃 no namespace called
  • 【HTML——旋转晕眩】(效果+代码)
  • codeblocks安装、使用、调试教程
  • 交换机与路由技术-32-命名ACL
  • 互联网大厂技术岗实习/求职经验分享(实习内推+简历+面试+offer)
  • Java中的数组以及八大排序算法
  • zabbix分布式
  • [math]判断线段是否相交及夹角
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【React系列】如何构建React应用程序
  • 【前端学习】-粗谈选择器
  • 2017届校招提前批面试回顾
  • CentOS 7 防火墙操作
  • C学习-枚举(九)
  • C语言笔记(第一章:C语言编程)
  • JAVA并发编程--1.基础概念
  • Linux链接文件
  • php ci框架整合银盛支付
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • windows-nginx-https-本地配置
  • 简析gRPC client 连接管理
  • 手机端车牌号码键盘的vue组件
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 小程序 setData 学问多
  • 一、python与pycharm的安装
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 阿里云ACE认证学习知识点梳理
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ###项目技术发展史
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • #预处理和函数的对比以及条件编译
  • $.ajax()方法详解
  • (16)Reactor的测试——响应式Spring的道法术器
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (ibm)Java 语言的 XPath API
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (七)理解angular中的module和injector,即依赖注入
  • (生成器)yield与(迭代器)generator
  • (算法)Game
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Framework .NET Core与 .NET 的区别
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET命名规范和开发约定
  • .so文件(linux系统)