什么是JavaScript
这一章节主要讲述JS的历史发展、重点演变节点以及成就影响。这一章节虽然没有必要深究考察,但是阅读还是要有,因为其中一些演变的原因以及所带来的弊端,都是我们身为使用者所需要思考的,后文会重点提及以及附上本人的思考,希望能引来各路大神一起探讨。
历史回顾
- 1995年,Mocha(LiveScript)蓝图开篇。
- 1996年8月,出现了Web浏览器,开发者们挥之不去的噩梦,因此也就有了后来的标准化。
- 1997年,ECMA-262语言标准问世。
- 1998年,上帝ISO与IEC定出了标准ECMA,浏览器们有了规范。
万恶的IE浏览器其实是最先遵循ECMA的,可惜脱离了时代
JavaScript 实现
erDiagram
JavaScript ||--o{ ECMAScript : contain
ECMAScript
JavaScript ||--o{ DOM : contain
DOM
JavaScript ||--o{ BOM : contain
BOM
JAVAScript版本
重要节点第四版,强类型变量、语句和数据结构、真正的类和继承。虽然变为了ES3.1,但是JS的数据操作已经更具规范,以为之后的ES5的JSON、ES6的类、模块、迭代器、箭头函数、契约反射、代理之类的数据结构做了铺垫。
受Web开发工程师青睐的async/await在ES8问世。
浏览器对ES的支持
IE5开始规范第1版,可惜文档太少,JScript不够硬核。随后,IE8率先实现第5版。
DOM 文档对象模型
- 优势:
- 注意:模型二字,dom让页面开始有了分层节点的概念,节点变动更加轻松。
- 还是标准问题,DOM的标准化使得浏览器的规范不会差太远
- 劣势:
- DOM体积大、属性多,特别是DOM LEVEL3之后,视图、事件、样式、遍历和范围使得DOM很大,变动频繁很容易造成卡顿。
WEB浏览器对于dom的支持
EI在6和7都没有对dom新特性进行支持,相反火狐在这点做得很好,3+版本便已经支持了几乎全部的LEVEL2,兼容也是百分百,鼓掌鼓掌!!!
BOM 浏览器对象模型
- navigator对象:浏览器的信息,比如蓝牙、设备等
- location对象:页面信息,链接、主机端口号等 关于BOM和DOM后面会详细讲解,特别是DOM,毕竟个人觉得IE的败笔也是没关注DOM的演变以及在开发者心目中的地位
总结
JS是一门用来与页面交互的脚本语言,由ECMA、DOM、BOM三个组成。 其标准化的不断进步,是一门语言不断成熟的标志,同时也有利于平台的扩张,浏览器五花八门的时代,各自能有一席之地,标准化ECMA功不可没 (有利于跨平台开发)。