32.内置对象

76 阅读3分钟

js中有一些内置的全局对象,可以直接供我们使用,String,Number,Boolean,Date,Math,RegEx.本章主要讲解后三个。

Date 日期对象

什么是Date

js中的Date类型是由早期的Java.Util.Date类型基础上构造的,所以保存的是距离1970年1月1日的毫秒数来存储时间。我们在使用时间上的操作就可以使用Date对象,比如获取时间,获取时间戳等等。

创建

  • Date() 使用Date函数创建 返回一个当前时间的字符串
let date = Date();
console.log(date); // Sat Sep 03 2022 10:48:23 GMT+0800 (中国标准时间)
  • new Date() 使用构造函数创建 返回一个当前时间的对象
let date = new Date();
console.log(date); // 2022-09-03T02:50:41.631Z

Date的方法

  • 获取当前时间 var date=new Date();
  • 获取年date.getFullYear();
  • 获取月date.getMonth();
  • 获取日date.getDate();
  • 获取星期date.getDay();
  • 获取时date.getHours()
  • 获取分date.Minutes();
  • 获取秒date.getSeconds();
  • 获取毫秒date.getMilliseconds();
  • 获取当前时间距离1970-01-01的毫秒数date.getTime();
    设置年date.setFullYear(2019);
  • 设置月:date.setMonth(10);
  • 设置日:date.setDate(10);
  • 设置小时:date.setHours(08);
  • 设置分钟:date.setMinutes(50);
  • 设置秒钟:date.setSeconds(50);
  • 设置秒钟:date.setSeconds(55);
  • 设置距离1970/ 01/ 01的毫秒数:date.setTime(12145445123)
  • 包含年月日时分秒:date.toLocalString();
  • 包含年月日:date.toLocalDateString();
  • 包含时分秒:date.toLocalTimeString();
  • es5新增时间戳:Date.now();

日常使用

  • 时间戳 我们需要一些唯一不重复的值的时候就可以用时间戳 Date.now()
  • day.js库 Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。
  • 自己封装一个时间获取
        function getTimer() {
            var time = new Date();
            var h = time.getHours();
            h = h < 10 ? '0' + h : h;
            var m = time.getMinutes();
            m = m < 10 ? '0' + m : m;
            var s = time.getSeconds();
            s = s < 10 ? '0' + s : s;
            return h + ':' + m + ':' + s;
        }

Math

认识Math

math是JavaScript的一个内置对象,它提供了一些数学属性和方法,可以对数字进行计算(用于Number类型)。 math和其他全局对象不同,它不是一个构造器,math的所有方法和属性都是静态的,直接使用并传入对应的参数。

Math的方法

  • abs 绝对值
console.log(Math.abs(-10)); // 10
  • ceil 向上取整
Math.ceil(1.1) // 2
  • floor 向下取整
Math.ceil(1.1) // 1
  • cos 余弦
Math.cos(90 * Math.PI) // 1
  • sin 正弦
Math.sin(90 * Math.PI / 180) // 1
  • min 一组数据的最小值
Math.min( 0, 100, -200, -140) // -200
  • max 一组数据的最大值
Math.max( 0, 100, -200, -140) // 100
  • round 四舍五入
Math.round(1.1) // 1
Math.round(1.5) // 2
  • sqrt 平方根
Math.sqrt(4) // 2
  • pow 指数次幂
Math.pow(42) // 16
  • random 随机数

应用

随机数

    function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }

Reg 正则

正则是什么

正则:也叫做规则,让计算机能够读懂人类的规则;是一个对象

正则创建

  • 字面量
let reg = /^a/
  • 构造函数
let reg = new RegExp('a');

修饰符

  • i 忽略大小写
  • g 全局匹配
  • m 换行匹配

元字符

  • 数字,字母,下划线 \w
  • 非数字,字母,下划线 \W
  • 数字 \d
  • 非数字 \D
  • 单个空白字符 \s
  • 非空字符 \S
  • ^ 行首匹配
  • $ 行尾匹配

正则方法

  • test
    在字符串中匹配正则是否存在,返回布尔值
let reg = new RegExp('^a');
console.log(reg.test('aa')); // true
console.log(reg.test('ba')); // false
  • exec
    在字符串中匹配正则是否存在 返回数组
let reg = new RegExp('a');
console.log(reg.exec('abc'));// [ 'a', index: 0, input: 'abc', groups: undefined ]