这款前端可视化代码执行工具,打残Js执行过程

开发 开发工具
今天给大家介绍一款可视化代码执行工具——Python Tutor ,其可以可视化的看Python、Java、C、C++、JavaScript 和 Ruby 的执行过程,该功能这么强大,让我们一起来使用一波,看看到底能学到啥。

一、工具页面

整个页面看起来是如此的朴素,包含三个区块:代码区块、操作区块、可视化区块,三个区块的功能如下所示:

1.代码区块

该部分主要负责编辑要执行的代码,特别注意,该工具不支持一些函数,例如:setTimeout、setInterval等,这部分确实是该平台需要进一步优化的点。

2.操作区块

操作区块主要负责代码的移动,First按钮将代码运行到开头;Last按钮将代码运行到末尾;Prev负责逐行将代码移动到上一步;Next负责逐行将代码移动到下一步。

3.可视化区块

可视化区块用来展示执行过程中的调用栈、相关变量以及对应的变量值。

image-20220504090946788.png

二、秒杀js关键技术点在

js中有很多晦涩难懂的关键技术点,例如变量对象、调用栈、代码执行过程等,下面用一段代码,并通过该工具可以更加直观的了解这些内容,从而降低理解成本。

var a = 10;

function f1() {
var b = 20;

return a + b;
}

function f2(e) {
var c = 30;
var d = f1();
function f2Child() {
return d * 2;
}
return c + d + e + f2Child();
}

f2(15);

1.变量对象

变量对象是一个与执行上下文相关的特殊对象,存储着上下文中声明的内容。按照执行上下文可划分为全局上下文中的变量对象和函数上下文中的对象,当执行到函数f2时,其变量对象中的三部分均得到创建:

  • 创建arguments对象;
  • 检查function函数声明创建属性;
  • 检查变量声明创建属性。

2.调用栈

当JavaScript执行全局代码的时候,会创建全局执行执行上下文(整个页面的生存周期内,全局执行上下文只有一份);在调用一个函数的时候会创建该函数的执行上下文(执行环境)。将多个执行上下文管理起来的就是调用栈(调用栈就是用来管理函数调用关系的一种数据结构),当函数运行到f2Child这个函数的时候,其调用栈是什么样子的呢?用该工具可以很好的进行展示。

3.代码执行过程

通过点击操作区块的按钮可看到可视化区域中的调用栈和变量对象在不断变化,从而可以清晰了解整个代码执行过程。

可视化工具.gif

责任编辑:武晓燕 来源: 前端点线面
相关推荐

2020-10-22 15:15:25

SamplerShelLinux

2021-04-21 12:04:47

JS引擎流程

2020-02-25 14:38:05

代码开发工具

2022-06-06 12:18:44

配置可视化Nginx

2022-04-01 15:02:56

前端工具开发

2020-03-11 14:39:26

数据可视化地图可视化地理信息

2021-02-21 08:11:46

PythonDash工具

2022-05-16 08:57:36

Python可视化代码

2022-11-15 15:14:05

2022-05-07 09:02:27

数据可视化工具库

2017-09-11 13:33:44

大数据数据可视化决策树

2023-10-10 10:23:50

JavaScriptV8

2022-03-03 13:02:37

可视化网页低代码编程工具

2021-02-07 20:23:09

GoogeBlockly可视化编程

2018-05-31 08:25:13

误区工具可视化

2021-03-25 07:30:24

代码开发数据

2022-08-26 09:15:58

Python可视化plotly

2017-10-14 13:54:26

数据可视化数据信息可视化

2023-03-06 16:07:19

梯度提升算法机器学习

2009-04-21 14:26:41

可视化监控IT管理摩卡
点赞
收藏

51CTO技术栈公众号