前端JS、nodejs、和JS有什麼區別?

前端的JS = 標準JS + webAPI
webAPI參閱MDN

nodejs = 標準JS + 一些系統相關的API
具體參閱node文檔

下面的代碼可以在瀏覽器或者node中執行

var a = new Date()
let b = Promise.reject()

下面代碼只能在node中執行的

console.log(__dirname)

下面代碼只能在瀏覽器中執行的

var a = new XMLHttpRequest()

JS解釋器

無論是node還是各大瀏覽器,都需要有解釋JS代碼的引擎,參考下表瀏覽器使用的JS解釋器

  • Mozilla -- Spidermonkey
  • Chrome -- v8
  • Safari -- JavaScriptCore
  • IE、Edge -- -- Chakra
  • PhantomJS -- JavaScriptCore
  • node -- v8

不同解釋器對JS代碼的處理都要符合ES規範。但是ES並沒有規定數組、集合等數據結構的底層實現,也沒有闡述代碼編譯或解釋的方式,這些由各大廠商自行決定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章