带你读书之“红宝书”:第五章 基本引用类型⑥

简介: 带你读书之“红宝书”:第五章 基本引用类型⑥

写在前头

大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。


注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。


思维导图

7e1446840237460dada0a84e2ac30fdb_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


简述

引用类型虽然有点像类,但跟类并不是一个概念。还是得区分开来,引用类型就是一个模子,可以用这个模子造出很多东西。


5.3. 原始值包装类型

41e726b8b1c141a88e9d25044de75318_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


5.3.3. String

1. JavaScript 字符

  • 码元

大多数字符来说,16位码元对应一个字符。

  • charAt()
    返回给定索引位置的字符。
  • Unicode编码

js字符串使用2个Unicode编码混合。

  • 官方博文推荐

Mathias Bynens的博文。

  • charCodeAt()

通过索引位置查询对应字符的编码。

  • fromCharCode()

给定的UTF-16码元创建字符。

  • Unicode增补字符平面
    ① 代理对
    一个字符使用2个16位码元的策略方式。
    ② 码点
    Unicode中一个字符的完整标识。
    ③ codePointAt()
    可以正确的解析单码元字符和代理对字符。
    ④ fromcodePoint()
    接受任意数量的码点,返回一个拼接好的字符串。


2. normalize 方法

  • 诞生背景
    Unicode字符有很多种编码格式。

编码方式

不同的编码方式也可以表示同样的字符。

判断相等

编码方式不同,但是看起来一样的字符其实并不相等。

  • 字符规范化

4种规范化形式

NFD,NFC,NFKD,NFKC

判断字符串是否规范化

①4种比较全是false,未规范化

字符串和调用normalize()方法返回的值比较

②true表明已经规范化


3. 字符串操作方法

  • 向后拼接字符串

concat()

let string = "Hello";
let newstring = string.concat("World");
console.log("newstring"); // HelloWorld
复制代码


不会改变原来字符串。可以接收多个参数。

  • 提取子字符串


①参数一个

3个方法一样

返回调用他们的字符串的一个子字符串。

只传入一个参数表示开始位置,从开始位置一直提取到末尾。


②参数2个

slice(),substring()

第二个参数表示结束提取位置,闭区间这个位置也要提取。

substr()

第二个参数表示返回子字符串的数量。


③参数是负数

转换负数,重复原来默认操作

把负数加上length变为正数。再使用下面的规则。


slice()

把所有的负数加上length变为正数。


substring()

所以负参数全部变为0。

会将较小的参数作为提取字符开始的起点。


substr()

第一个负参数加上length变为正数,第二个负参数变0。



目录
相关文章
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数④
带你读书之“红宝书”:第十章 函数④
63 0
带你读书之“红宝书”:第十章 函数④
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第十章 函数①
带你读书之“红宝书”:第十章 函数①
72 0
带你读书之“红宝书”:第十章 函数①
|
安全 前端开发
带你读书之“红宝书”:第五章 基本引用类型⑤
带你读书之“红宝书”:第五章 基本引用类型⑤
57 0
带你读书之“红宝书”:第五章 基本引用类型⑤
|
前端开发 索引
带你读书之“红宝书”:第五章 基本引用类型⑦
带你读书之“红宝书”:第五章 基本引用类型⑦
62 0
带你读书之“红宝书”:第五章 基本引用类型⑦
|
存储 前端开发
带你读书之“红宝书”:第五章 基本引用类型④
带你读书之“红宝书”:第五章 基本引用类型④
67 0
带你读书之“红宝书”:第五章 基本引用类型④
|
前端开发
带你读书之“红宝书”:第五章 基本引用类型③
带你读书之“红宝书”:第五章 基本引用类型③
61 0
带你读书之“红宝书”:第五章 基本引用类型③
|
前端开发
带你读书之“红宝书”:第五章 基本引用类型②
带你读书之“红宝书”:第五章 基本引用类型②
49 0
带你读书之“红宝书”:第五章 基本引用类型②
|
前端开发
带你读书之“红宝书”:第五章 基本引用类型①
带你读书之“红宝书”:第五章 基本引用类型①
68 0
带你读书之“红宝书”:第五章 基本引用类型①
|
存储 JavaScript 前端开发
带你读书之“红宝书”:第十章 函数②
带你读书之“红宝书”:第十章 函数②
76 0
带你读书之“红宝书”:第十章 函数②
|
JavaScript 前端开发 C语言
带你读书之“红宝书”:第十章 函数③
带你读书之“红宝书”:第十章 函数③
81 0
带你读书之“红宝书”:第十章 函数③