JsDay3

一、补充

1.js中的三大特殊数据:undefined,null,NaN

  • NaN:非法的数值运算得到的结果
    • 特殊之处:
      1. 是一个数值型的数据,但是不是一个数字
      2. NaN不等于任何值,和任何数据都不相等,NaN不等于NaN
    • 检测方法:isNaN(要检测的数据)
      • true:检测结果为 NaN 或能转成 NaN
      • false:检测结果不是 NaN 或不能转成 NaN
  • undefined是:未赋值,类型是undefined;null是:空,类型是object
    • 特殊1:undefined和null在关系运算符两边隐式类型转换后,得到了一致的数据
    • 特殊2:undefined被Number转成NaN,null被Number转成0
  • 如何判断三大特殊的值,分别是谁?
    • NaN可以使用isNaN()来判断
      • isNaN(要判断的值或变量);
          var a = NaN;
          console.log(isNaN(a)); // 结果是布尔值:true为是的,false为不是
      
    • undefined可以使用typeof判断
      • typeof 要判断的值或变量
          var b = undefined;
          console.log( (typeof b) === "undefined" );// 结果是布尔值:true为是的,false为不是
      
    • null需要配合typeof和关系运算符判断
      • typeof 要判断的值或变量 === “object”
          var c = null;
          console.log( (typeof c) === "object" );
      
      • 还需要( && )
      • 要判断的值或变量 == null
          console.log(c === null);
      
  • js中三大特殊的值,特殊之处,远远不止这么一点,还需要配合更多的课程发现总结…

二、逻辑分支(选择结构,分支结构)

  • 其实今天的课程才算开始涉及到逻辑
  1. 程序的三大结构
  • 顺序结构 - 每天
    • 代码逐行执行,一行一行自上而下执行
  • 分支结构
    • 有选择了,十字路口的选择,只能选择一个,如果…否则…
  • 循环结构 - 后话
    • 重复,重复执行多次,起因:无聊,然后开始:吃,胖,心情不好,吃,胖…
  1. 什么是分支结构

    • 听懂的扣1:看到了1,继续讲课

    • 不懂的扣2:看到了2,重新讲一遍

    • 此时,在我让大家扣1或2之前,我知道你们会扣什么吗?不知道,但是我是不是得准备好继续讲或重新讲,然后根据你们的回答,决定我选择哪个讲法

    • 今晚干啥?取决于:你有没有对象?

      • 有:面向对象编程
      • 没有:自己编程…
  2. 分支语句

  • 分支和循环结构,需要配合一些专用代码才能实现,专用代码叫:语句

  • if:单分支

    • if(条件){执行语句}
  • if else:双分支

    • if(条件){条件为true时,要执行的语句}else{条件为false时,要执行的语句}
    • 分支的嵌套(双分支模拟的多分支)
      • 在执行体内,可以继续写其他分支
      • if(条件1){}else if(条件2){}else if(条件3){}else......
  • if的小括号里面也会发生隐式类型转换规则

    • 规则:其他转布尔
      • 数值转布尔:非0为true,0为false
      • 字符转布尔:非空字符,为true,空字符,为false
      • 对象转布尔:对象为true
      • 数组转布尔:数组为true
      • 函数转布尔:函数为true
      • 特殊数据转布尔:undefined,NaN,null都为false
  • switch:多分支

    • 语法:
      var n = 2;
      var msg = "";
      switch(Number(n)){
          case 0:
              msg = "星期日";
              break;
          case 1:
              msg = "星期一";
              break;
          ...
          default:
              msg = "你输入的数字不对,请输入0~6之间的数字";
      }
      console.log(msg);
      
    • 规则:
      • 当要判断的值是固定的数据时,选择使用switch

        • 如果要判断的值是范围时,选择使用if-else
      • switch的case判断,不存在隐式类型转换

        • 某些情况下,需要根据场景,选择是否需要主动转换
      • 如果你不管上面的使用建议,非要使用switch判断范围,注定要多掉点头发

        • 使用switch判断范围
        var cj = 45;
        switch( true ){
            case cj<60:
                console.log("不及格");
                break;
            case cj>=60 && cj<70:
                console.log("及格");
                break;
            default:
                console.log("以上case都没执行");
        }
        
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值