JavaScript 高级使用 Math Date Number 对象 throw抛出

目录

Math 对象

不用创建对象,可以直接使用API

随机下标算法:随机数*数组长度,再向下取整

获取随机验证码,不重复

Date 对象

存储当前系统时间,获取存储的值,今天是xxxx年xx月xx日 星期x

获取当前时间的时间戳

计算距离2022/10/16还有x天 x:x:x 

创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间 

Number 对象

将一个数组包装为对象

自定义错误

错误处理


 

Math 对象

不用创建对象,可以直接使用API

  • PI        获取圆周率
  • abs()        获取绝对值
  • ceil()        向上取整
  • floor()        向下取整
  • round()        四舍五入取整
  • pow()        计算x的y次方

随机下标算法:随机数*数组长度,再向下取整

var n=Math.floor(Math.random()*arr.length)

获取随机验证码,不重复

var arr=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
      var arr2=[]
      for (var i=0;i<4;i++){
        // 获取随机下标
        var n=Math.floor(Math.random()*arr.length)
        arr2.push(arr[n])
        arr.splice(n,1)
    }

Date 对象

toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。

//转为本地字符串,用于调试阶段
//   月份存储的值0-11,对应的是1-12
      var d2 = new Date(2022, 9, 12, 11, 1, 30);
      console.log(d2.toLocaleString);

存储当前系统时间,获取存储的值,今天是xxxx年xx月xx日 星期x

// 创建Date对象,,最后打印
      // 今天是xxxx年xx月xx日 星期x
      var d = new Date("2022/10/1");
      var year = d.getFullYear();
      var month = d.getMonth() + 1;
      var date = d.getDate() >= 10 ? d.getDate() : "0" + d.getDate();
      var day = d.getDay();
      var arr = ["日", "一", "二", "三", "四", "五", "六"];
      //   console.log(arr[day]);
      console.log(`今天是${year}年${month}月${date}日 星期${arr[day]}`);

获取当前时间的时间戳

    var d =Date.now()

计算距离2022/10/16还有x天 x:x:x 

//   计算距离2022/10/16还有x天 x:x:x
      // 计算两者相差毫秒数,时间戳相减
      var d1 = new Date();
      var d2 = new Date("2022/10/16");
      // var d =parseInt(Date.now()/1000)    //Date.now()/1000
      var d = parseInt((d2.getTime() - Date.now()) / 1000);
      // 计算出相差的秒,去除相差的数字中含有的60(分钟)
      var second = d % 60;
      // 计算出相差的分钟,去除相差的数字中含有的小时(3600)
      var minute = parseInt((d % 3600) / 60);
      // 计算出相差的小时,去除相差的数字中含有的天(24*3600)
      var hour = parseInt((d % (24 * 3600)) / 3600);
      // 计算出相差的天,直接换算为天
      var day = parseInt(d / (24 * 3600));
      var str= `距离周日还有${day}天 ${hour}:${minute}:${second}`

创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间 

//   创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间
      //   入职时间
      var d1 = new Date("2023/2/1");
      //   拷贝入职时间,——到期时间
      var d2 = new Date(d1);
      // 设置为3年后
      d2.setFullYear(d2.getFullYear() + 3);
      // 拷贝到期时间——续签时间
      var d3 = new Date(d2);
    //   提前一个月
      d3.setMonth(d3.getMonth()-1)
      console.log("入职时间:" + d1.toLocaleString());
      console.log("到期时间:" + d2.toLocaleString());
      console.log("续签时间:" + d3.toLocaleString());

Number 对象

将一个数组包装为对象

var n2 = new Number(1);

自定义错误

// 自定义错误
    var age = 80
    if(age>60 || age<18){
        throw '非法的年龄'
    }
    console.log(age);

错误处理

try {
        // 尝试执行,可能出现错误,不阻止后续代码执行
        // 出现错误,不会阻止后续代码执行
        var age = 80;
        if (age > 60 || age < 18) {
          throw "非法的年龄";
        }
      } catch (err) {
        // 只有try中出现错误,才会执行,捕获错误将错误收集到err
        console.log(err);
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值