From 012d914958afe1befff2acad7675c34437477b5e Mon Sep 17 00:00:00 2001 From: YuJian Date: Mon, 16 May 2022 16:30:40 +0800 Subject: [PATCH] vault backup: 2022-05-16 16:30:39 --- 深入探索 JavaScript/JavaScript 对象.md | 2 +- 深入探索 JavaScript/JavaScript 执行.md | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/深入探索 JavaScript/JavaScript 对象.md b/深入探索 JavaScript/JavaScript 对象.md index 85f512c..7651bfc 100644 --- a/深入探索 JavaScript/JavaScript 对象.md +++ b/深入探索 JavaScript/JavaScript 对象.md @@ -12,7 +12,7 @@ >固有对象在任何 JS 代码执行钱就已经被创建出来了,它们通常扮演着类似基础库的角色,“类”其实就是固有对象的一种。 -固有对象构造器创建的对象多数使用了私有字段,这些字段使得原型继承方法无法正常工作,所以我们可以认为所有这些原生对象都是为了特定能力或者性能而设计出来的 “特权对象”。 +固有对象构造器创建的对象多数使用了私有字段,这些字段使得原型继承方法无法正常工作,这里的无法正常工作指的是无法继承zhe'yi'xie,所以我们可以认为所有这些原生对象都是为了特定能力或者性能而设计出来的 “特权对象”。 函数对象的定义是:具有 \[\[call\]\] 私有字段的对象,该必须是一个引擎中定义的函数,需要接受 this 值和调用参数,并且会产生域的切换。 构造器对象的定义是:具有 \[\[construct\]\] 私有字段的对象。 diff --git a/深入探索 JavaScript/JavaScript 执行.md b/深入探索 JavaScript/JavaScript 执行.md index 211b924..bb9ffcc 100644 --- a/深入探索 JavaScript/JavaScript 执行.md +++ b/深入探索 JavaScript/JavaScript 执行.md @@ -5,6 +5,12 @@ 采纳 JSC 引擎的术语,把宿主发起的任务称为**宏观任务**,将引擎发起的任务称作**微观任务** 用伪代码表示事件循环大概如下: + ```javascript -while(True) -``` \ No newline at end of file +while(true) { + r = wait(); + execute(r); +} +``` + +其中每次的循环过程,其实就是一个宏观任务,大致可以理解为宏观任务的队列就相当于事件循环。在宏观任务中,JavaScript 的 Promise 还会产生异步代码,JavaScript 必须保证这些异步代码在一个宏观任务中完成,因此,每个宏观任务中又包含了一个微观任务队列 \ No newline at end of file