写在前头
大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。
注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。
思维导图
简述
引用类型虽然有点像类,但跟类并不是一个概念。还是得区分开来,引用类型就是一个模子,可以用这个模子造出很多东西。
5.4. 单例内置对象
ECMA-262 对内置对象的定义
“任何由 ECMAScript 实现提供、与宿主环境无关,并在 ECMAScript程序开始执行时就存在的对象”。就是内置对象。例如Object、Array 和 String。这些都是已经被系统实例化好了的。
5.4.1. Global
特别之处
①代码不会显式地访问Global对象。是一种兜底对象。 ②在全局作用域中定义的变量和函数都会变成 Global 对象的属性。 ③Global 对象所针对的是不属于任何对象的属性和方法。
1. URL 编码方法
- 编码
2种方法
encodeURI()和 encodeURIComponent()方法
ecnodeURI()方法用于对整个 URI 进行编码。 encodeURIComponent()方法用于编码 URI 中单独的组件。
用法:
使用 URI 编码方法来编码 URI。
以特殊的 UTF-8 编码替换掉所有无效字符。
区别原因:
encodeURI()不会编码属于 URL 组件的特殊字符。
encodeURIComponent()会编码它发现的所有非标准字符。
- 解码
2种方法
decodeURI()和 decodeURIComponent()。
用法:
decodeURI()只对使用 encodeURI()编码过的字符解码。
decodeURIComponent()解码所有被 encodeURIComponent()编码的字符,基本上就是解码所有特殊值。
- 过时方法
escape()和 unescape()方法已经被替代抛弃。
注意: 不要在生产环境中使用 escape()和 unescape()
2. eval()方法
- 是什么
eval()方法是一个完整的ECMAScript 解释器。
- 接受参数
一个要执行的 ECMAScript(JavaScript)字符串
- 作用域
通过
eval()执行的代码属于该调用所在上下文,被执行的代码与该上下文拥有相同的作用域链。这个方法内部可以调用上下文的变量,方法。
- 严格模式
eval()内部创建的变量和函数无法被外部访问。
3. Global 对象属性
undefined、NaN 和 Infinity 等特殊值都是Global 对象的属性。
所有原生引用类型构造函数都是 Global 对象的属性。