于1995年问世。一些基本的验证最初是在客户端处理的。名称:Mocha->LiveScript->JavaScriptECMAScript脚本语言标准:ECMA-262(TC39,技术委员会39)与自身相互作用的环境。ECMA-262定义的内容:语法|类型|声明|关键字|一些修订版本3(!!):更新了字符串处理、错误定义和数字输出。还增加了对正则表达式、新控制语句、try/catch异常处理等的支持第4版(×):强类型变量、新语句和数据结构、真实类和经典继承、操作数据版本5的新手段(3.1!!!):澄清版本3的歧义,增加对JSON的支持,方便继承的方法和高级属性定义,增加严格模式版本6(2015.6!!!!!):支持类、模块、迭代器、生成器、箭头函数、承诺(Promise)、反射、代理和许多新的数据类型(Map、Set等)Version7(2016.6):少量句法增强,例如Array.prototype.includes和ExponentialOperatorsVersion8(2017.6):添加了异步函数(async/await)、SharedArrayBuffer和AtomicsAPI,以及Object.values()/Object.entries()/Object.getOwnPropertyDescriptors()和字符字符串填充方法(?),明确支持final对象文字中的逗号。版本9(2018.6):异步迭代、rest和spread属性、一组新的正则表达式特性、Promisefinally()和模板字面量修订版本10(2019.6):添加了Array.prototype.flat()/flatMap(),String.prototype.trimStart()/trimEnd(),Object.fromEntries()方法和Symbol.prototype.description属性明确定义了Function.prototype.toString()的返回值并修复了Array。prototype.sort()的顺序。解决了JSON字符串的兼容性问题,并为catch子句定义了可选绑定(?)ECMAScript一致性:必须满足的条件支持ECMA-262中描述的所有“类型、值、对象、属性、函数”,以及程序语法和语义”;支持Unicode字符的浏览器支持浏览器DOMLevelECMAScriptcomplianceIE5.5~8DOMLevel1ES3IE9ES5(partial)IE10-11ES5Edge12+ES6Safari6~8ES5Safari9+ES6Chrome49+ES6FireFox45+ES6iOSSafari9.2+ES6DOM在HTML中使用扩展XML的应用程序编程接口(API)DOM抽象DynamicHTML:Modifypageappearanceandcontentwithoutrefreshingthepage.DOMlevelDOMLevel1(1998):DOMCore和DOMHTML两个模块.Goal:MapdocumentstructureDOMCore:提供一种方法映射XML文档以方便访问和操作文档的任何部分;DOMHTML扩展了Core并添加了HTML特定的对象和方法。DOMLevel2:添加了支持rt用于鼠标和用户界面事件、作用域、遍历,并通过对象接口支持CSS。DOMCore也被扩展为包括对XML命名空间的支持。新模块:DOM视图:描述了用于跟踪文档的不同视图的界面。(如应用CSS样式前后的文档)DOM事件:描述事件和事件处理的接口DOM样式:描述处理元素CSS样式的接口DOM遍历和作用域:描述遍历和操作DOM树的接口DOMLevel3:进一步扩展了DOM,增加了以统一方式加载和保存文档的方法(在新模块DOMLoadandSave中),以及验证文档的方法(DOMValidation)。DOMCore被扩展以支持所有XML1.0特性,包括XMLInfoset、XPath和XMLBase。DOM4(DOMLivingStandard):新增内容包括替换MutationEvents的MutationObservers。L1+L2(部分)+L3(部分):Opera9|Safari2+|iOSSafari3.2+|铬1+|FF1+其他DOM都是在XML的基础上,加入了自己独特的DOM方法和接口:SVG(scalableVectorgraphics,可缩放矢量图形)MathML(MathematicsMarkupLanguage,数学标记语言)SMIL(SynchronizedMultimediaIntegrationLanguage,同步多媒体集成语言))BOM可以操作浏览器显式页面以外的部分。唯一没有相关标准的JavaScript实现。<——HTML5主要针对浏览器窗口和子窗口,通常包括浏览器特定的扩展:弹出新浏览器窗口的能力(window.open)移动、缩放和关闭浏览器窗口导航器的能力对象,提供有关浏览器的信息位置对象提供有关浏览器加载的页面的详细信息。屏幕对象提供有关用户屏幕分辨率的详细信息。性能对象提供有关浏览器内存使用情况、导航行为和时间统计信息的详细信息。支持cookies其他自定义对象,比如XMLHttpRequest和IE的ActiveXObject,大多数浏览器都支持JavaScript,指的是ECMAScript和DOM的实现程度。
