偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

這款前端可視化代碼執(zhí)行工具,打殘Js執(zhí)行過程

開發(fā) 開發(fā)工具
今天給大家介紹一款可視化代碼執(zhí)行工具——Python Tutor ,其可以可視化的看Python、Java、C、C++、JavaScript 和 Ruby 的執(zhí)行過程,該功能這么強大,讓我們一起來使用一波,看看到底能學(xué)到啥。

一、工具頁面

整個頁面看起來是如此的樸素,包含三個區(qū)塊:代碼區(qū)塊、操作區(qū)塊、可視化區(qū)塊,三個區(qū)塊的功能如下所示:

1.代碼區(qū)塊

該部分主要負責編輯要執(zhí)行的代碼,特別注意,該工具不支持一些函數(shù),例如:setTimeout、setInterval等,這部分確實是該平臺需要進一步優(yōu)化的點。

2.操作區(qū)塊

操作區(qū)塊主要負責代碼的移動,F(xiàn)irst按鈕將代碼運行到開頭;Last按鈕將代碼運行到末尾;Prev負責逐行將代碼移動到上一步;Next負責逐行將代碼移動到下一步。

3.可視化區(qū)塊

可視化區(qū)塊用來展示執(zhí)行過程中的調(diào)用棧、相關(guān)變量以及對應(yīng)的變量值。

image-20220504090946788.png

二、秒殺js關(guān)鍵技術(shù)點在

js中有很多晦澀難懂的關(guān)鍵技術(shù)點,例如變量對象、調(diào)用棧、代碼執(zhí)行過程等,下面用一段代碼,并通過該工具可以更加直觀的了解這些內(nèi)容,從而降低理解成本。

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.變量對象

變量對象是一個與執(zhí)行上下文相關(guān)的特殊對象,存儲著上下文中聲明的內(nèi)容。按照執(zhí)行上下文可劃分為全局上下文中的變量對象和函數(shù)上下文中的對象,當執(zhí)行到函數(shù)f2時,其變量對象中的三部分均得到創(chuàng)建:

  • 創(chuàng)建arguments對象;
  • 檢查function函數(shù)聲明創(chuàng)建屬性;
  • 檢查變量聲明創(chuàng)建屬性。

2.調(diào)用棧

當JavaScript執(zhí)行全局代碼的時候,會創(chuàng)建全局執(zhí)行執(zhí)行上下文(整個頁面的生存周期內(nèi),全局執(zhí)行上下文只有一份);在調(diào)用一個函數(shù)的時候會創(chuàng)建該函數(shù)的執(zhí)行上下文(執(zhí)行環(huán)境)。將多個執(zhí)行上下文管理起來的就是調(diào)用棧(調(diào)用棧就是用來管理函數(shù)調(diào)用關(guān)系的一種數(shù)據(jù)結(jié)構(gòu)),當函數(shù)運行到f2Child這個函數(shù)的時候,其調(diào)用棧是什么樣子的呢?用該工具可以很好的進行展示。

3.代碼執(zhí)行過程

通過點擊操作區(qū)塊的按鈕可看到可視化區(qū)域中的調(diào)用棧和變量對象在不斷變化,從而可以清晰了解整個代碼執(zhí)行過程。

可視化工具.gif

責任編輯:武曉燕 來源: 前端點線面
相關(guān)推薦

2020-10-22 15:15:25

SamplerShelLinux

2021-04-21 12:04:47

JS引擎流程

2020-02-25 14:38:05

代碼開發(fā)工具

2022-06-06 12:18:44

配置可視化Nginx

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2022-04-01 15:02:56

前端工具開發(fā)

2024-08-27 00:00:06

開源數(shù)據(jù)可視化

2021-02-21 08:11:46

PythonDash工具

2022-05-16 08:57:36

Python可視化代碼

2022-05-07 09:02:27

數(shù)據(jù)可視化工具庫

2022-11-15 15:14:05

2017-09-11 13:33:44

大數(shù)據(jù)數(shù)據(jù)可視化決策樹

2022-03-03 13:02:37

可視化網(wǎng)頁低代碼編程工具

2021-02-07 20:23:09

GoogeBlockly可視化編程

2018-05-31 08:25:13

誤區(qū)工具可視化

2023-10-10 10:23:50

JavaScriptV8

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2022-08-26 09:15:58

Python可視化plotly

2009-04-21 14:26:41

可視化監(jiān)控IT管理摩卡

2021-03-25 07:30:24

代碼開發(fā)數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號