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

「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战

写在前头

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

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

思维导图

image.png

简述

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

5.3. 原始值包装类型

image.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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值