CSS 布局:Grid
ES6 模块
ES6 模块 vs JS 普通文件
对比项 | ES6 模块 | JS 普通文件 |
---|---|---|
顶级变量 | 模块范围 | 全局范围 |
默认模式 | 严格模式(Strict Mode) | 非严格模式(No-Strict Mode,Sloppy Mode) |
顶级 this 值 | undefined | window |
导入/导出 | 支持,但只支持顶级导入/导出,且导入会 Hoisted | 不支持 |
HTML 中 | <script type="module"> | <script> |
下载文件 | 异步 | 同步 |
JavaScript 使用 Promise:Async/Await
通过 ES2017 async
/await
及 Promise Combinator 实现优雅的异步代码。
以同步写异步
语法糖:async
/await
并没有为 JS 语言添加新特性,仅仅是为 Promise 提供了一种更易写易懂的语法。
JavaScript
1const wait = sec =>
2 new Promise(resolve => setTimeout(resolve, sec * 1000));
3
4// 通过 async/await 使用 Promise
5(async () => {
6 await wait(1);
7 console.log('1秒后执行');
8
9 await wait(1);
10 console.log('2秒后执行');
11
12 await wait(1);
13 console.log('3秒后执行');
14
15 await wait(1);
16 console.log('4秒后执行');
17})();
18
19// Promise 原使用方式
20// wait(1)
21// .then(() => {
22// console.log('1秒后执行');
23//
24// return wait(1);
25// })
26// .then(() => {
27// console.log('2秒后执行');
28//
29// return wait(1);
30// })
31// .then(() => {
32// console.log('3秒后执行');
33//
34// return wait(1);
35// })
36// .then(() => {
37// console.log('4秒后执行');
38//
39// return wait(1);
40// });
JavaScript 构建 Promise
介绍 Promise
- Promise
- 一个包含异步操作结果(将来结果)的占位符对象。
Promise 的优点:
- 无需依赖将事件和回调传递给异步函数,就可以处理异步结果
- 可为一系列异步操作提供 Promise 链式调用,从而避免回调地狱(Callback Hell)
Promise 生命周期:
- Pending:构建 Promise 对象时的初始状态,内部还是立即执行的同步代码
new Promise()
- Settled:异步任务执行完毕
- Fulfilled:异步任务执行成功,且结果可用
then()
- Rejected:异步任务执行失败,即发生了错误
then(onFulfilled[, onRejected])
或catch()
- Fulfilled:异步任务执行成功,且结果可用
Linux 文件系统
目录结构
目录名 | 描述 |
---|---|
/boot | 启动器程序所需文件,如 grub.cfg |
/root | root 用户主目录 |
/dev | 系统设备(如磁盘、光驱、扬声器、闪存盘、键盘等) |
/usr | 系统级软件安装目录,存放由操作系统或包管理器安装的软件 |
/usr/local | 系统级软件安装目录,存放会被拆分为多个目录(如传统的编译安装 ./configure && make && sudo make install ),且对所有用户均可用的软件。单用户可用则存放于 ~/.local |
/opt | 系统级软件安装目录,存放完全独立的单目录软件。单用户可用则存放于 ~/.local/opt |
/etc | 存放系统级软件的配置文件 |
/bin -> /usr/bin | 用户级命令 |
/sbin -> /usr/sbin | 系统级命令 |
/proc | 运行中的进程(仅存在于内存中) |
/lib -> /usr/lib | 软件所需的 C 语言库文件(strace -e open pwd ) |
/tmp | 临时文件 |
/home | 用户目录(非 root 用户) |
/var | 系统日志 |
/run | 系统守护进程,保存运行中的临时文件,如 PID 文件 |
/mnt | 挂载外部文件系统(如 NFS) |
/media | 挂载光驱(cdrom) |