Skip to content

Commit

Permalink
Merge pull request ascoders#100 from Kerminate/dev
Browse files Browse the repository at this point in the history
fix: 修正笔误
  • Loading branch information
ascoders authored Aug 24, 2018
2 parents 3a458e5 + c6f228f commit 412aec1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion 52.精读《图解 ES 模块》.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ CJS 的做法很不同,主要是由于相对于通过网络请求从文件系

首先,JS 引擎创建一个模块环境记录。这会为模块记录维护变量。然后在内存中开辟空间,让这些变量可以被导出。模块环境记录会基础追踪内存中的值导出的每个变量。内存空间并不会获取到变量的值,而是计算后得到值。

为了实例化模块树,引擎将会完成一个叫做深度优先的后序遍历。这意味从树的地步开始,地步的依赖不会再依赖其他的东西,并且创建它们的导出。
为了实例化模块树,引擎将会完成一个叫做深度优先的后序遍历。这意味从树的底部开始,底部的依赖不会再依赖其他的东西,并且创建它们的导出。

引擎会绘制出一个模块下的所有导出。然后绘制这个模块的所有导入。注意,导出和导入在内存中指向同一个地址。这里和 CJS 模块有区别,在 CJS 中所有导出对象的值都是一个拷贝。与之相反,ES 模块使用了类似绑定的东西。模块会指向内存这种的同一个地址。这意味着当导出模块修改了一个值,这个修改会在不在导入模块时表现出来。

Expand Down

0 comments on commit 412aec1

Please sign in to comment.