前端的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并没有规定数组、集合等数据结构的底层实现,也没有阐述代码编译或解释的方式,这些由各大厂商自行决定。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐