JS引擎
JavaScript 引擎說起來最流行的當(dāng)然是谷歌的 V8 引擎,Chrome 和 Node 都是使用的 V8 引擎赘艳。那JS 引擎是做什么的呢,是用來解析并執(zhí)行 javascript 語言。
JavaScript本質(zhì)上是一種解釋型語言早敬,JavaScript代碼是在瀏覽器端解析和執(zhí)行的趁耗,而編譯型語言在執(zhí)行時已經(jīng)完成編譯沉唠,可直接執(zhí)行,有更快的執(zhí)行速度苛败。
JS運行時(Runtime)
全稱叫做JavaScript Runtime Environment
運行時是一種面向?qū)ο蟮木幊陶Z言的運行環(huán)境满葛。運行時表明了在某個時間段內(nèi),哪個程序正在運行罢屈。運行時是計算機程序運行生命周期內(nèi)的一個階段嘀韧,其它階段還包括:編譯時、鏈接時和加載時缠捌。在一些編程語言中锄贷,把某些可以重用的程序或者實例打包或者重建成為“運行庫"。這些實例可以在它們運行的時候被連接或者被任何程序調(diào)用。
image.png
像DOM API谊却, setTimeout 這些API并不是JS引擎提供的蹂随,而是瀏覽器提供的Web API, JS在瀏覽器中可以調(diào)用因惭。 因此簡單來說岳锁,對于這些外部接口,可以在運行時供JS調(diào)用蹦魔,另外還有JS的事件循環(huán)和回調(diào)隊列激率, 這些稱為運行時。
同樣勿决,在Node.js中乒躺,可以把Node的各種庫提供的API稱為Runtime。