JS(6)复杂数据类型(引用数据类型)—— 基本引用类型

91 阅读2分钟

JS引用数据类型大致可以分为两类:基本引用类型 and 集合引用类型

基本引用类型

  • Date
  • RegExp (正则)
  • 原始值包装类型【重点】
    • Boolean
    • Number
    • String
  • 单例内置对象
    • Global
    • Math

<1> Date 日期对象

1.1 Date 对象的创建
  • 无参数 :创建的是当前日期和时间的对象
let now = new Date()
  • 字符串参数
    • "月 / 日 / 年" ----- "9 / 23 / 2023"
    • "月名 日 , 年" ----- "September 23 , 2023"
    • "YYYY-MM-DDTHH:mm:ss:sssZ" ----- "2023-09-23..."

会自动调用 Date.parse() 方法将表示时间的字符串转化为时间戳(自 1970-01-01 00:00:00 以来经过的毫秒数)

  • 一连串用逗号(,)隔开的数字
new Date( 2023 , 9 ,23)

会自动调用 Date.UTC() 方法将表示时间的一连串数字转化为时间戳(自 1970-01-01 00:00:00 以来经过的毫秒数)

1.2 Date 对象的一些实用方法
  • 获得日期中指定部分的方法:年 or 月 or 日

      - 年 getFullYear()
      - 月 getMonth()  --- 0起点
      - 日 getDate() 
    
  • Date.now() 获得当前时间的时间戳

<2> RegExp正则

2.1 元字符

元字符在正则表达式中有自己表示的特殊含义,所以如果要匹配这些元字符本身的话需要转义!!

( [ { ^ ? * +

  • {x} 匹配 x 次

  • {min,max} 匹配 min 到 max 次

  • [] 表示字符范围

      - [abc]:查找方括号内任意一个字符。
      - [^abc]:查找不在方括号内的字符。
      - [0-9]:查找从 0 至 9 范围内的数字,即查找数字。
      - [a-z]:查找从小写 a 到小写 z 范围内的字符,即查找小写字母。
      - [A-Z]:查找从大写 A 到大写 Z 范围内的字符,即查找大写字母。
      - [A-z]:查找从大写 A 到小写 z 范围内的字符,即所有大小写的字母。
    
  • ?匹配 0 or 1 次

  • *匹配 0 or 任意次

  • +匹配 >= 1 次

  • ^ 不是该字符

2.2 通配符
  • · 除换行符之外的任意字符
  • \d 单个数字 [0,9]
  • \D 除了数字字符以外的字符
  • \s 空白字符,包括空格、制表、换页符...
2.3 锚字符
  • ^ 行首匹配 必须以这个正则开头
  • $ 行尾匹配 必须以这个正则结尾
2.4 常见的正则表达式
// 匹配日期 yyyy-mm-dd (格式)
let regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/

// 匹配手机号码
let regex = /^1[34578][0-9]{9}$/

// 匹配用户名 【以字母or$开头;4~16位;特殊字符只能是$】
let regex = /^[a-zA-Z$][a-z0-9A-Z/$]{4,16}$/

<3> 单例内置对象 ———— Global

Global 对象是兜底对象,所有全局作用域中定义的函数和变量都会成为 Global 对象的属性和方法!!!

  • isNaN()
  • parseInt()
  • eval() ....

ES 没有直接规定访问 Global 对象的方法,但浏览器将 windows 对象作为 Global对象的代理!!!

<4> 单例内置对象 ———— Math

<5> 原始值包装类型

原始值包装类型详见