JS -- (16) 基本引用类型

119 阅读2分钟

【JS的引用类型大致可以分为两类】:

  • 基本引用类型

       - Date
       - RegExp
       - 原始值包装类型
               - Boolean
               - Number
               - String
       - 单例内置对象
               - Global
               - Math
    
  • 集合引用类型

       - Object
       - Array
       - Map
       - WeakMap
       - Set
       - WeakSet
    

基本引用类型

<1> Date
<2> RegExp 正则
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) 通配符
  • · 除换行符之外的任意字符
  • \d 单个数字 [0,9]
  • \D 除了数字字符以外的字符
  • \s 空白字符,包括空格、制表、换页符...
3) 锚字符
  • ^ 行首匹配 必须以这个正则开头
  • $ 行尾匹配 必须以这个正则结尾
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> 原始值包装类型
  • String
  • Boolean
  • Number
<4> 单例内置对象

内置对象 由 ES 提供,与宿主环境无关 ,并在 ES 程序开始执行时就存在的!!!

1) Global 对象

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

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

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

2) Math 对象

很多数学方法 ....