Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

binghuis/dive-into-javascript

Repository files navigation

深入了解 JS

pdm-managed jupyterlab deno

目录

V8 是如何工作的

文章涉及到的 JS 相关概念依据的是 ES6 规范

  1. 简述 V8 引擎对 JS 代码的处理流程

  2. ES6 规范中的词法环境与闭包、作用域的关系

  3. 创建阶段:执行上下文与提升

  4. 执行阶段:深入 Window 事件循环机制(Window EventLoop)

JS 概念深入

  • 探究 requestAnimationFrame 和 requestIdleCallback 的执行机制。
  • 了解 Worker EventLoop 和 Worklet Eventloop。
  • 了解 async/await 实现机制。

Jupyter Notebook 启动

  1. 安装 deno

    如果执行 deno upgrade 的时候报 error: You do not have write permission to /opt/homebrew/bin/deno这里

  2. 安装 deno jupyter

    deno jupyter --unstable --install

    关于 Deno 对 Jupyter 的支持 Deno 1.37: Modern JavaScript in Jupyter Notebooks

  3. 校验安装是否成功 deno jupyter --unstable

  4. 包管理工具 pdm 安装。

  5. 依赖安装

    pdm install

  6. jupyter 启动

    pdm dev

V8 Debug

安装 V8 调试工具 d8

  1. 使用 jsvu 安装 v8-debug。

  2. 配置 ~/.bashrc~/.bash_profile 文件,增加下面两行。

# --- 配置 D8 ---
export PATH="${HOME}/.jsvu/bin:${PATH}"
alias d8='v8-debug'
# --- end ---
  1. 执行 d8 -v 测试安装结果。

  2. 使用 d8 生成阶段产物。

  • 抽象语法树: d8 --print-ast demo.js > ast.txt
  • 字节码: d8 --print-bytecode demo.js > bytecode.txt
  • 作用域: d8 --print-scopes demo.js > scopes.txt

About

深入了解 JS(V8 引擎 JS 运行机制)。

Resources

Stars

Watchers

Forks

Contributors

AltStyle によって変換されたページ (->オリジナル) /