一.诞生/历史/实现
js的诞生
源于快速发展的Web端操作需求(非法值或空值验证)与效率极其低下的前后端网络交互所产生的矛盾。早期互联网网速较慢,将客户端输入传回后台进行各种简单的验证操作(例如非法值验证),在效率方面非常低下,于是js应运而生。
js的历史
网页的大小与复杂性不断增加,浏览器客户端能处理的信息却十分有限。
1995年2月 / 布兰登·艾奇 / liveScript。
1997年完成ECMA标准的确立。
js的实现
js由三个部分组成:ECMAScript核心;文档对象模型DOM;浏览器对象模型BOM;
ECMAScript:
由ECMA定义的基础内容:包括语法,类型,语句,关键字,保留字,操作符,对象。需要注意的是,ECMA并没有定义js的宿主环境,我们最常见的Web端js只是ECMAScript最常见的宿主环境。宿主环境实现ECMA的定义,并增加语言扩展,增强ECMA与和环境的交互能力。
文档对象类型DOM:
言简意赅地说,DOM就是针对XML和HTML应用程序的编程接口。他将HTML文档编辑为一棵具有多层结构的树,HTML或XML文档中的每个组成部分都可以从节点中取得。借助DOM实现的ECMAScript API,开发人员得以操纵这些节点。本质上为工程人员提供了访问与操作网页内容的方法与接口。(或者更确切一些说,叫做规范)
DOM分层节点图为什么要使用DOM呢?原因无他,只是为了保护Web的跨平台性,避免不同浏览器支持不同的DOM导致Web产生实质性的技术分裂。
DOM级别是值得记录的知识点:DOM大致可以分为两级:
DOM1级主要定义了映射基于XML的文档结构(DOM Core),以及针对HTML简单的对象与方法(DOM HTML)。
DOM2级扩充了大量常用的HTML操作模块:DOM视图(不是特别懂),DOM事件(事件以及处理事件的接口),DOM样式(基于CSS为元素应用样式的接口),DOM遍历与范围(遍历与操作文档树的接口)。另外还有DOM3级,主要定义DOM加载与保存的模块,因为工程中涉及不多,在此不多做了解。
浏览器对象类型BOM:
最简单的理解方式 -->针对浏览器所作的jscript扩展就叫做BOM,功能也就局限于与浏览器进行交互和访问。一些BOM的典型扩展:(使用js)
移动/缩放/弹出/关闭浏览器窗口;
提供浏览器详细信息的navigator类;
Navigator类提供浏览器加载信息的location类;
Location类提供分辨率信息的screen类;
Screen类操纵Cookie;
Cookie属性介绍XMLHTTPRequest(用的太频繁,不多提了);
网友评论