温习日志
——2023年2月27日下午
学习内容
- Exporting and Importing in ES6 Modules
- 在模块中分为
import
和export
- 在JS中需要将
script
标签的type='module'
才能使用模块化 - 对于
import
的模块,会被吊起(hoisted)会优先执行 - 在被带入的模块中,只有被
export
的才能被在另一个模块中使用 - 模块之间的变量是实时链接的,所有即使在另外一个模块中修改了带入的变量,该模块的变量也会被修改
- 对于
export
分为export
和export default
export
严格按照输出的名字在import
的时候export default
则可以改变输出时名称- 在
export
是也可以export happy as sad
输出的将是严格按照sad
名字导入 - 在
import
也可以将导入的函数as
改成自己想要设置的名字 - 也可以通过
import * as obj from ''
来将指定文件所有的变量存储到obj
的对象中
- 在模块中分为
- Top-Level await
- 在模块中可以直接使用
await
无需再async
函数中 - 但是相应的,在有
await
时如果获取的比较慢,则会阻塞代码的进程,直至获取完成
- 在模块中可以直接使用
- The Module Pattern
- 在函数中封装函数和变量,最终返回对象包含各个变量和函数
- 在该函数,只能引用返回的函数和变量。这时候就是形成了闭包,只有内部函数能访问到外部函数中的变量
- CommonJS
- 通过
exports.函数名
将函数发送在node.js
中,可以通过require(地址)
获取到exports
的函数 - 这不是JS中的代码,而是node.js中的
- 通过