JavaScript 简介
JavaScript ( 简称:JS ) 是一种
轻量级
,诠释型
的编程言语,其函数是一等国民。尽人皆知,它是用于网页开辟的脚本言语,但也被用在许多非网页环境中,比方 node.js 和 Apache CouchDB。JS是一种基于原型的、多范式、动态脚本言语,而且支撑面向对象、敕令式和声明式(如:函数式编程)编程作风。【MDN】
Javascript 是一种诠释性、直译型脚本言语(代码不举行预编译)。直译言语的缺点是安全性较差,而且在JavaScript中,假如一条实行不了,那末下面的言语也无法实行。而其解决要领就是运用 try{}catch(){}
console.log("a");
console.log("b");
console.logg("c"); // 这里出错了,下面的语句不会被实行
console.log("d");
console.log("e");
/*解决要领*/
try{console.log("a");}catch(e){}
try{console.log("b");}catch(e){}
try{console.logg("c");}catch(e){console.log("Wrong here!");}
// 上面的语句是毛病的,然则到这里不会停下来,而是打印毛病提醒信息,然后继承实行下面的语句
try{console.log("d");}catch(e){}
try{console.log("e");}catch(e){}
一个完整的 JavaScript 的完成应当包含三部份:
ECMAScript(言语中心):形貌了该言语的语法和基础对象
DOM(文档对象模子):形貌了处置惩罚网页内容的要领和接口
BOM(浏览器对象模子):形貌了与浏览器举行交互的要领和接口
ECMAScript
ECMAScript
是一种脚本言语范例,范例名为 ECMA-262
,JavaScript 成为 ECMAScript 的完成之一,别的完成 ECMAScript 的言语另有 JScript 和 ActionScript。
一般碰到 ECMAScript,就将 JavaScript 看成它的方言就好了!
ECMAScript 汗青版本
ECMAScript 1 (1997.06)
ECMAScript 2 (1998.06)
ECMAScript 3 (1999.12)
增加正则表达式,非常处置惩罚,新的控制指令等
ECMAScript 4 : 因为某些缘由,未完成
ECMAScript 5 (2009.12)
增加严厉形式,JSON 对象等
ECMAScript 5.1 (2011.06)
完整向下兼容 ECMAScript 3
ECMAScript 6 (2015.06) (又称 ES6、ECMAScript 2015)
增加 let、const,箭头函数,解构赋值,类(class),模块支撑等
ECMAScript 7 (2016.06) (又称 ES7、ECMAScript 2016)
增加 Array.prototype.includes 、 取幂操纵符(**)等
DOM
文档对象模子 ( DOM ) 是 HTML 和 XML 文档的编程接口。它给文档(构造树)供应了一个构造化的表述而且定义了一种顺序能够对构造树举行接见,以转变文档的构造,款式和内容的体式格局。
DOM 范例的目的是让“任何一种顺序设计言语”能操控运用“任何一种标记言语”编写出的“任何一份文档”。“操控”详细寄义为能经由过程DOM供应的API对文档的内容、构造、款式举行接见和修正。
简朴讲,DOM 就是一组适用于构造化文档的API
DOM 并非 JavaScript 的一部份,它也能够被其他言语运用,比方 Java 也能够操纵 DOM
日常平凡可能会见到有 DOM 0级(DOM Level 0),但实际上 DOM 0级并不存在,它只是DOM汗青坐标中的一个参照点罢了。详细说呢,DOM 0级指的是 IE4 和 Netscape 4.0 这些浏览器最初支撑的 DHTML。
DOM Level 1 (1998.10)
DOM1 中心(DOM Core):划定了怎样映照基于 XML 的文档构造,以便简化对文档的恣意部份的接见和操纵。
DOM1 HTML:在 DOM 中心的基础上加以扩大,增加了针对 HTML 的对象和要领。
DOM Level 2 (2000.11)
DOM2 中心:扩大了 DOM1 中心
DOM2 视图(DOM Views):定义了跟踪差别文档(比方,运用CSS之前和以后的文档)视图的接口
DOM2 事宜(DOM Events):定义了事宜和事宜处置惩罚的接口
DOM2 款式(DOM Style):定义了基于CSS为元素运用款式的接口
DOM2 遍历和局限(DOM Traversal and Range):定义了遍历和操纵文档树的接口
DOM2 HTML:扩大了 DOM1 HTML
DOM Level 3(2004.04)
DOM3 中心: 扩大了 DOM1 和 DOM2 中心
DOM3 加载和保留(DOM Load and Save):定义了以一致体式格局加载和保留文档的要领
DOM3 考证(DOM Validation):
DOM3 事宜:扩大了 DOM2 事宜
DOM3 XPath:定义了在DOM中对XPath表达式求值的接口
DOM Level 4(2015.11)
….coming
From wiki
DOM Level 1 provided a complete model for an entire HTML or XML document, including means to change any portion of the document.
DOM Level 2 was published in late 2000. It introduced the getElementById function as well as an event model and support for XML namespaces and CSS.
DOM Level 3, published in April 2004, added support for XPath and keyboard event handling, as well as an interface for serializing documents as XML.
DOM Level 4 was published in 2015. It is a snapshot of the WHATWG living standard.
相识更多,参看 DOM Current Status [ W3C ]
BOM
浏览器对象模子(BOM),它为 Javascript 供应了接见和操纵浏览器窗口的要领和对象
BOM 的中心:
window 对象
BOM 自身一向都没有相干的范例,然则 HTML 5 宣布后,W3C 为了把浏览器中 Javascript 最基础的部份范例化,已将 BOM 的重要方面纳入了 HTML5 的范例中。