![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript高级程序设计第四版学习记录
文章平均质量分 94
huangq_qiao
这个作者很懒,什么都没留下…
展开
-
JavaScript高级程序设计第四版学习记录-第十一章 期约与异步函数
目录11.1 异步编程11.1.1 同步与异步ECMAScript 6 及之后的几个版本逐步加大了对异步编程机制的支持,提供了令人眼前一亮的新特性。ECMAScript 6 新增了正式的 Promise(期约)引用类型,支持优雅地定义和组织异步逻辑。接下来几个版本增加了使用 async 和 await 关键字定义异步函数的机制。11.1 异步编程同步行为和异步行为的对立统一是计算机科学的一个基本概念。特别是在 JavaScript 这种单线程事件循环模型中,同步操作与异步操作更是代码所要依赖的原创 2021-03-02 11:28:07 · 837 阅读 · 2 评论 -
JavaScript高级程序设计第四版学习记录-第十章函数
函数实际上是对象,每个函数都是Function的实例,而 Function 也有属性和方法,跟其他引用类型一样。因为函数是对象,所以函数名就是指向函数对象的指针,而且不一定与函数本身紧密绑定。函数的定义方式包括以下几种:(1) 函数声明方式定义函数定义后不用加分号function sum (num1, num2) { return num1 + num2; }(2) 函数表达式函数末尾是有分号的,与任何变量初始化语句一样let sum = function(num1, num2) {原创 2021-02-24 13:55:29 · 363 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第九章代理与反射
ECMAScript 6 新增的代理和反射为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体地说,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前,可以在代理对象中对这些操作加以控制。对刚刚接触这个主题的开发者而言,代理是一个比较模糊的概念,而且还夹杂着很多新术语。其实只要看几个例子,就很容易理解了。注意 在 ES6 之前,ECMAScript 中并没有类似代理的特性。由于代理是一种新的基础性语言能力,很多转译程序都不能把代理原创 2021-03-10 17:20:14 · 318 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第八章对象、类与面向对象编程(二)(继承 / 类)
目录8.3 继承8.3.1 原型链8.3.2 盗用构造函数8.3.3 组合继承8.3.4 原型式继承8.3.5 寄生式继承8.3.6 寄生式组合继承8.4 类8.4.1 类定义8.4.2 类构造函数8.4.3 实例、原型和类成员8.4.4 继承8.5 小结8.3 继承继承是面向对象编程中讨论最多的话题。很多面向对象语言都支持两种继承:接口继承和实现继承。前者只继承方法签名,后者继承实际的方法。接口继承在 ECMAScript 中是不可能的,因为函数没有签名。实现继承是 ECMAScript 唯一原创 2021-02-18 21:44:23 · 297 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第八章对象、类与面向对象编程(一)(对象)
目录8.1 理解对象8.1.1 属性的类型1、数据属性ECMA-262 将对象定义为一组属性的无序集合。严格来说,这意味着对象就是一组没有特定顺序的值。对象的每个属性或方法都由一个名称来标识,这个名称映射到一个值。正因为如此(以及其他还未讨论的原因),可以把 ECMAScript 的对象想象成一张散列表,其中的内容就是一组名/值对,值可以是数据或者函数。8.1 理解对象创建自定义对象的通常方式是创建 Object 的一个新实例,然后再给它添加属性和方法。1、显式创建 Object 实例的两种方式原创 2021-02-15 22:30:34 · 362 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第七章迭代器与生成器
在软件开发领域,“迭代”的意思是按照顺序反复多次执行一段程序,通常会有明确的终止条件。ECMAScript 6 规范新增了两个高级特性:迭代器和生成器。使用这两个特性,能够更清晰、高效、方便地实现迭代。7.1 理解迭代在 JavaScript 中,计数循环就是一种最简单的迭代:for (let i = 1; i <= 10; ++i) { console.log(i); } 循环是迭代机制的基础,这是因为它可以指定迭代的次数,以及每次迭代要执行什么操作。每次循环都会在下一次迭代开始之原创 2021-02-10 20:42:36 · 370 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第六章集合引用类型
目录第六章 集合引用类型6.1 object6.2 Array6.3 定型数组6.4 Map6.5 WeakMap6.6 Set6.7 WeakSet6.8 迭代与扩展操作6.9 小结第六章 集合引用类型6.1 object6.2 Array6.3 定型数组6.4 Map6.5 WeakMap6.6 Set6.7 WeakSet6.8 迭代与扩展操作6.9 小结...原创 2021-02-02 12:25:05 · 490 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第五章基本引用类型
第五章 基本引用类型引用值(或者对象) 是某个特定引用类型的实例。在ECMAScript中,引用类型是把数据和功能组织到一起的结构,经常被人错误地称作“类”。虽然从技术上讲 JavaScript 是一门面向对象语言,但ECMAScript 缺少传统的面向对象编程语言所具备的某些基本结构,包括类和接口。引用类型有时候也被称为对象定义,因为它们描述了自己的对象应有的属性和方法。对象被认为是某个特定引用类型的实例。新对象通过使用new操作符后面跟一个构造函数来创建。构造函数就是用来创建新对象的函数。原创 2020-12-28 11:44:29 · 314 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第四章 变量、作用域与内存
JavaScript 变量是松散类型的,而且变量不过就是特定时间点一个特定值的名称而已。由于没有规则定义变量必须包含什么数据类型,变量的值和数据类型在脚本生命期内可以改变。4.1 原始值与引用值ECMAScript 变量包含两种不同类型的数据:原始值和引用值。原始值(primitive value)是最简单的数据,引用值(reference value)是由多个值构成的对象。在把一个值赋给变量时,JavaScript 引擎必须确定这个值是原始值还是引用值。原始值(6种):Undefined、Null原创 2020-12-19 21:49:58 · 325 阅读 · 2 评论 -
JavaScript高级程序设计第四版学习记录-第三章3.5-3.6 操作符和语句
3.5 操作符ECMA-262 描述了一组可用于操作数据值的操作符,包括数学操作符(如加、减)、位操作符、关系操作符和相等操作符等。ECMAScript 中的操作符是独特的,因为它们可用于各种值,包括字符串、数值、布尔值,甚至还有对象。在应用给对象时,操作符通常会调用 valueOf()和 / 或 toString()方法来取得可以计算的值....原创 2020-12-16 17:25:22 · 175 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第三章3.4 ES6 数据类型(六种简单数据类型+Object对象)
3.4 数据类型ES6有六种简单数据类型(原始类型): Undefined, Null, Boolean, Number, String, Symbol(ES6新增).还有一种复杂数据类型 Object(对象), 是一种无序名值对的集合.3.4.1 typeof 操作符ES的类型系统是松散的, 可以通过typeof 操作符来确定任意变量的数据类型.对一个值使用 typeof 操作符 会返回下列字符串之一: undefined表示值未定义; boolean表示值为布尔值; string表转载 2020-12-06 15:33:10 · 960 阅读 · 1 评论 -
JavaScript高级程序设计第四版学习记录-第三章3.1-3.3 语法 关键字保留字 声明变量
第三章 语言基础ECMA-262 第 5 版(ES5)定义的 ECMAScript,是目前为止实现得最为广泛(即受浏览器支持最好)的一个版本。第 6 版(ES6)在浏览器中的实现(即受支持)程度次之。到 2017 年底,大多数主流浏览器几乎或全部实现了这一版的规范。为此,本章接下来的内容主要基于 ECMAScript第六版 ES6。3.1 语法3.1.1 区分大小写ECMAScript中一切都区分大小写,包括 变量、函数名、操作符等。3.1.2 标识符标识符即为 变量、函数、属性或函数参数等的名原创 2020-11-26 17:23:16 · 237 阅读 · 0 评论 -
JavaScript高级程序设计第四版学习记录-第二章HTML中的JavaScript
第二章 HTML中的JavaScript2.1 <script>元素<script>元素的八个属性使用方式:【行内JavaScript代码】直接在网页中嵌入JavaScript代码,包含在<script>中的代码会从上到下解析. 在<script>元素中的代码被计算完成之前,页面的其余内容不会被加载,也不会被显示.<script> function sayHi() { console.log("Hi!"); }原创 2020-11-26 16:47:58 · 222 阅读 · 1 评论 -
JavaScript高级程序设计第四版学习记录-第一章什么是JavaScript
2020年9月第四版一 前言JavaScript与宿主关系密切, 宿主为JavaScript定义了与外界交互所需的全部API: DOM/网络请求/系统硬件/存储/事件/文件/加密/其他API等.各种浏览器以及JavaScript引擎都按照自己的理解实现了这些规范, 对JavaScript更准确的定位是一组浏览器实现.第1章 什么是JavaScript1.1 简短历史回顾1995年,网景公司Netscape开发的JavaScript问世 (原为LiveScript,为搭上Java的顺风车而原创 2020-11-14 21:05:03 · 529 阅读 · 0 评论 -
廖雪峰JavaScript教程学习记录
廖雪峰JavaScript教程JavaScript是一种运行在浏览器中的解释型的编程语言。在Web里,只有JavaScript能跨平台、跨浏览器驱动网页,与用户交互。而且Node.js可以把JavaScript引入到服务器端原创 2020-11-12 11:39:26 · 166 阅读 · 2 评论