五、基本引用类型

这篇博客深入探讨了JavaScript中的Date对象,包括构造、日期转换方法以及时间戳操作。此外,还详细阐述了正则表达式,包括构造、标志、实例属性和方法。同时,介绍了原始值包装类型的概念,特别是String、Boolean和Number的特性和用法。文章最后提到了全局对象和一些内置的单例对象,如Global、URL编码方法和Math对象的相关函数。
摘要由CSDN通过智能技术生成

 

引用类型是把数据和功能组织到一起的结构,虽然像“类”,但不是“类”。

一、Date

构造:let now = new Date() 不传参则获取当前时刻,传参需传入毫秒数

日期转毫秒数:Date.parse()    Date.UTC()

Date.parse()支持格式: 如果直接将这些格式的字符串传入Date(),后台自动调用Date.parse()

“月/日/年” “5/23/2021"

 “月名 日,年”  “May 23, 2021"

   "周几 月名 日 年 时:分:秒 时区"

  "YYYY-MM-DDTHH:mm:ss.sssZ"

  如果传入的字符串不表示日期,则返回NaN

Date.UTC()接收参数是年、零起点月、日、时、分、秒、毫秒(前两个是必需的,后面都是默认1日,0时等)

Date.now()返回方法执行时日期和时间的毫秒数

toLocaleString() 返回与浏览器运行的本地环境一致的日期和时间,一般带AM/PM,但不带时区

toString() 返回带时区信息的日期和时间,带时区的24小时制

valueOf()返回毫秒数

日期格式转化方法:

toDateString()  周几、月、日、年

toTimeString() 时、分、秒、时区

toLocaleDateString() 周几、月、日、年

toLocaleTimeString() 时、分、秒

toUTCString() 显示完整的UTC时间

getTime()                                   setTime()

getFullYear()                              setFullYear()

getUTCFullYear()                       setUTCFullYear()

getMonth()                                setMonth()

getUTCMonth()                         setUTCMonth()

getDate()                                   setDate()

getUTCDate()                            setUTCDate()

getDay()                                    setDay()

getUTCDay()                             setUTCDay()

getHours()                                …

getUTCHours()

getMinutes()

getUTCMinutes()

getSeconds()

getUTCSeconds()

getMilliseconds()

getUTCMilliseconds()

getTimezoneOffset()   返回以分钟计的UTC与本地时区的偏移量

二、RegExp

构造 const express = /pattern/flags         const express = new RegExp(patternStr, flagsStr)

每个正则表达式可以带0个或多个标记

 g,全局模式,表示查找字符串的全部内容,而不是找到第一个就结束

 i,不区分大小写

 m,多行模式,表示查找到一行文本末尾会继续查找

 y,粘附模式,表示从lastIndex开始查找

 u,Unicode模式,启用Unicode匹配

 s,dotAll模式,表示元字符(.)匹配任意字符包括\n\r

实例属性:

 global  是否设置了g

 ignoreCase  是否设置了

 unicode,是否设置了u

 sticky,是否设置了y

 multiline, 是否设置了m

 dotAll, 是否设置了s

 lastIndex,原字符串中下一次开始所搜的地方,始终从0开始

 source, 正则表达式的字面量字符串

 flags,正则表达式的标记字符串

实例方法:

 exec() : 接受一个字符串参数,如果找到匹配项,返回包含第一个匹配信息的数组,数组包含两个属性index和input;没找到匹配项就返回null。

如果设置了全局模式,则每次调用exec()返回一个匹配信息;否则只会返回第一个匹配信息

如果设置了粘附模式,每次调用exec()只会在lastIndex()寻找匹配项,粘附模式覆盖全局模式

 test():接受一个字符串参数,匹配返回true,否则返回false

 toLocaleString()和toString()返回字面量字符串

 valueOf()返回正则表达式本身

构造函数属性(静态属性):

 input                $_               最后搜索的字符串

 lastMatch        $&              最后匹配的文本

 lastParen          $+              最后匹配的捕获组

 leftContext       $`                input字符串中出现在lastMatch前面的文本

 rightContext     $'                input字符串中出现在lastMatch后面的文本

RegExp.$1 -RegExp.$9    包含第1-9个捕获组的匹配项

模式局限:

以下特性还没有得到ECMAScript的支持

\A和\Z锚(分别匹配字符串的开始和结尾)

联合及交叉类

原子组

x(忽略空格)匹配模式

条件式匹配

正则表达式注释

三、原始值包装类型

在以读模式访问字符串变量时,后台执行以下三步

1.创建一个String类型实例

2.调用实例上的特定方法

3.销毁实例

Boolean和Number也会有如上类似三步

Object()构造函数作为一个工厂方法,能够根据传入的值的类型,返回相应的原始值包装类型的实例

使用new调用原始值的包装类型的构造函数,与同名的转型函数不同

Boolean:   重写valueOf()方法,返回一个原始值true后者false,建议永远不要用

Number:

valueOf() 返回对象表示的原始数值

toLocaleString() toString() : 返回字符串,toString()可以接受一个基数参数

toFixed(n): 返回包含指定小数点位的数值字符串

toExponential(n):返回指定小数位的科学计数法字符串

toPrecision(): 根据情况返回最合理的输出结果。接收一个参数,表示结果中数字总位数

Number.isInteger() 判断一个数值是否保存为整数。

Number.isSafeInteger() 判断一个整数是否在安全范围  -2^53 + 1       2^53 - 1

String: 字符串由16位码元组成,对多数字符串来讲,每16位马元对应一个字符。

valueOf() toString() toLocaleString() : 返回字符串的原始值

length属性:字符的数量

charAt() :返回指定index的字符

charCodeAt(): 查看指定index的码元的字符编码

fromCharCode() : 根据给定的UTF-16码元创建字符串中的字符

Unicode基本多语言平面(BMP):用16位码元表示65536个字符

增补平面:每个字符使用另外16位去选择一个增补平面,每个字符使用两个16位码元的策略称为代理对

codePointAt():返回该索引位置的码点。码点是Unicode中的一个完整标识

fromCodePoint()

Normalize(): 选择一种规范化的形式,NFD(Normalization from D)  NFC  NFKD   NFKC

字符串操作方法:不改变原值

Concat(): 将一个或多个字符串拼接成一个新的字符串,原值不变

Slice(start, end):  负数都会加上长度

Substr(start, count): 第一个负数会加上长度, 第二个负参数转为0

subString(start, end): 所有的负参数转为0

位置方法:indexOf()    lastIndexOf()

包含方法:startsWith()  endsWith()  includes()

trim方法: trim()   trimLeft()  trimRight()   不改变原值

Repeat(n):表示将字符串复制多少次,然后返回。不改变原值

padStart(n, char): 复制字符串到指定长度,长度不够时,用指定字符填充;长度小于字符串长度时,返回原字符串

padEnd()

迭代与解构 @@iterator

Let message = "abcde"

Message[Symbol.iterator].next()

Console.log(…message)

大小写转换 toLowerCase()   toLocaleLowerCase()

toUpperCase()   toLocaleUpperCase()

字符串模式匹配

Match() :  本质等于RegExp.exec()

Search(): 返回模式匹配的第一个索引位置,没有返回-1

Replace():

第二个参数为字符串时,有几个特殊字符序列,可以用用来插入正则表达式操作的值

$$                                                $

$&                                               匹配整个模式的子字符串,RegExp.lastMatch

$'                                     匹配的整个字符串之前的字符串,RegExp.rightContext

$`                                     匹配子字符串之后的字符串,RegExp.leftContext

$n                                    匹配的第n个捕获组的内容

$nn                                              匹配第nn个捕获组的内容

第二个参数可以为函数,在只有一个匹配项时,函数接受三个参数(match匹配的子字符串,pos匹配的开始位置,originalText整个字符串)

Split():第一个参数,分隔符,第二个参数数组大小,多余的丢掉

localeCompare()  前正后负

HTML方法:

Anchor(name)        <a name='name'>String</a>

Big()                        <big>String</big>

Bold()

Fixed()                      <tt>String</tt>

fontcolor(color)       <font color="color">String</font>

Fontsize(size)

Italics()                     <i>string</i>

Link(url)                    <a href="url">string</a>

Small()

Strike()

Sub()

Sup()

四、单例内置对象

由ECMAScript实现提供、与宿主环境无关

Global:  全局作用域内定义的变量和函数都会变成Global的对象属性

URL编码方法

编码统一资源标识符

encodeURL(): 不会编码属于URL组件的特殊字符,如冒号  斜杠 问号 井号

encodeURLComponent(): 将所有非字母字符都进行编码

decodeURL()

decodeURLComponent()

这方法取代了escape()和unescape()

 eval():将字符串参数当做JavaScript执行

window对象

当一个函数没有明确this指向时,其this为Global

Math

Min()

Max()

Ceil()

Floor()

Round()

Fround()   返回数值最接近的单精度(32位)浮点值表示

Random() 返回一个0~1的随机数。包括0,不包括1

Abs()

Pow(x, power)

Pow(..nums)

Trunc()   返回整数部分,删除所有小数

Sqrt()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风xs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值