JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,普遍用于客户端的脚本语言。(浏览器须要两个引擎: 渲染引擎和JavaScript引擎)html
当前的JavaScript引擎: V八、SquirrelFish、Rhino、SpiderMonkey、Chakra、KJS。前端
为了取得技术优点,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript一样可在浏览器上运行。为了统一规格,由于JavaScript兼容于ECMA标准,所以也称为ECMAScript。后端
JavaScript包含三个部分:api
(1) ECMAScript核心,描述了该语言。浏览器
2011年6月,ECMAscript 5.1版发布,而且成为ISO国际标准。框架
2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015。ECMA-262是JavaScript的官方名称。异步
对比参考: http://www.javashuo.com/article/p-fzymsnue-h.htmlide
(2) 文档对象模型(DOM),描述处理网页内容的方法和接口。ui
DOM分为HTML DOM和XML DOM两种,它们分别定义了访问和操做HTML/XML文档的标准方法。.net
HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。标准包括DOM一、DOM2和DOM3,参考: https://www.jianshu.com/p/5d2905584a2f
(3) 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。因为BOM没有相关标准,每一个浏览器都有其本身对BOM的实现方式。
JS前端UI框架: Bootstrap、Node.Js、Angular.Js、Vue.js、React.js、AUI、Amaze UI、Frozen UI、WeUIi、SUI、MUI、Semantic UI、Foundation、UiKit、Pure。
JS前端库: jQuery、Prototype、MooTools。(AJAX: 异步 JavaScript 和 XML,在不从新加载整个网页的状况下对网页的某部分进行更新。)
JS后端框架: Node.js、Next.js、Koa、Express、Sails、Hapi。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
==============================
浏览器的处理过程:
参考: http://www.javashuo.com/article/p-kmyypmxc-h.html
浏览器兼容性:
JS引擎是嵌入在浏览器内部的,不一样的浏览器使用不一样的JS引擎,对JS语言标准的实现也不同,这就致使了浏览器兼容性问题。
常见的JS引擎: Chrome的V八、IE的Chakra、Safari的Nitro、Flash Player的Tamarin、等等。
渲染引擎也是嵌入浏览器内部的,它可以将HTML/CSS/JavaScript文本及相应的资源文件转换成图像结果。
常见的渲染引擎: IE的Tridend、FireFox的Gecko、WebKit(Safari,Chrome,Andriod浏览器)、等等。