
CSS 布局:Grid


| 对比项 | ES6 模块 | JS 普通文件 |
|---|---|---|
| 顶级变量 | 模块范围 | 全局范围 |
| 默认模式 | 严格模式(Strict Mode) | 非严格模式(No-Strict Mode,Sloppy Mode) |
顶级 this 值 | undefined | window |
| 导入/导出 | 支持,但只支持顶级导入/导出,且导入会 Hoisted | 不支持 |
| HTML 中 | <script type="module"> | <script> |
| 下载文件 | 异步 | 同步 |
通过 ES2017 async/await 及 Promise Combinator 实现优雅的异步代码。
语法糖:async/await 并没有为 JS 语言添加新特性,仅仅是为 Promise 提供了一种更易写易懂的语法。
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// });
Promise 的优点:
Promise 生命周期:
new Promise()then()then(onFulfilled[, onRejected]) 或 catch()| 目录名 | 描述 |
|---|---|
/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) |