JS是腳本語言,腳本語言都需要一個解析器才能運行。對于寫在 HTML 頁面里的 JS,瀏覽器充當了解析器的角色。而對于需要獨立運行的 JS,NodeJS 就是一個解析器。
每一種解析器都是一個運行環(huán)境,不但允許JS定義各種數(shù)據(jù)結構,進行各種計算,還允許 JS 使用運行環(huán)境提供的內(nèi)置對象和方法做一些事情。例如運行在瀏覽器中的JS的用途是操作 DOM,瀏覽器就提供了 document 之類的內(nèi)置對象。而運行在 NodeJS 中的 JS 的用途是操作磁盤文件或搭建 HTTP 服務器,NodeJS 就相應提供了 fs、http 等內(nèi)置對象。