-
渲染引擎
-
HTML
-
CSS
-
JS 引擎
-
JS
主流浏览器内核
| 浏览器 | 渲染引擎 | JS 引擎 |
| — | — | — |
| IE -> Edge | Trident -> EdgeHTML | Chakra |
| Chrome | Webkit -> Blink | V8 |
| Safari | Webkit | SquirrelFish |
| Firefox | Gecko | SpiderMonkey |
| Opera | Presto -> Blink | Carakan |
JavaScript 运行环境
-
Chrome 浏览器
-
V8 - JS
-
Node.js
-
V8 - JS
软件架构
-
框架(framework)
-
编程语言(language)
-
运行环境(runtime)
-
操作系统(OS)
| 软件架构 | WEB 应用 | WEB 应用 |
| — | — | — |
| 框架 | Vue | Express |
| 编程语言 | JS | JS |
| 运行环境 | Browser | Node.js |
| 操作系统 | OS | OS |
将 JS 比喻成飞机
| 软件架构 | WEB 应用 | WEB 应用 |
| — | — | — |
| 框架 | C 919 | J 15 |
| 编程语言 | 飞机 | 飞机 |
| 运行环境 | 陆地机场 | 航母甲板 |
| 操作系统 | OS | OS |
======================================================================
JS 的作用
-
浏览器(JS)——负责前端的功能
-
响应浏览器事件
-
数据验证
-
DOM操作
-
…
-
Node.js(JS)——负责后端的功能
-
Node.js 适合用于开发前端方向的各种工具
-
各种前端工程化的工具
-
Node.js 适合开发服务端的应用层(BFF)
-
为网站、APP、小程序等提供数据服务
-
Node.js 可以用来做桌面应用开发
-
各种跨平台的桌面应用
-
例如:vscode、typora、insomnia
======================================================================
-
JS@web
-
ECMAScript
-
常量、变量、元素符、流程控制语句、内置对象(String、Array …)
-
Web APIs
-
DOM
-
document、element …
-
BOM
-
window、location、history …
-
JS@Node.js
-
ECMASript
-
常量、变量、元素符、流程控制语句、内置对象(String、Array …)
-
Node APIs
-
fs、path、os、http …
====================================================================
通过 Node.js 运行 J