简介JavaScript的组成

1,633 阅读7分钟

小伙伴们你们知道JavaScript有哪些部分组成吗?是不是有些小伙伴会感到“虎躯一震”,当然也有nb的的小伙伴立刻就想到了答案。废话不说看下面的目录就知道了

JavaScript

  • 1 ECMAScript
  • 2 DOM
  • 3 BOM

来上惯例:'想要知道某些东西,那么咱们就需要知道它的由来'

接下来咱们就看看,ECMAScript、DOM、BOM的由来.

1 JavaScript的产生

我在高程3中看到JavaScript诞生于1995年。当时,JavaScript只是处理一些表单输入验证。在JavaScript问世之前,用户提交表单的时候都是通过服务器来验证的,大家可以想到,当时的网速和现在比较应该是”慢上几千倍吧“😨,咱们作为用户考虑一下,比如,咱们填写一下比较大的表单,用了几分钟,填完了咱们提交到服务器,用了30秒,然后服务器有花了20秒的时间返回给咱们一个错误信息,说咱们的邮箱地址不合适或者电话号码不合适,咱们心中或不会有千只“羊驼”奔腾😨。

在1995那个年代,网络界浏览器商家,nb的公司有这么两个,

  • 1 Netscape Navigator (远景公司)
  • 2 Internater Explorer (微软公司)

1995年有这么一天,这天,远景公司希望能有有一门语言,能够在客户端发向服务器之前能够验证一下表单格式和填写,(当时的远景公司真是前途不可限量啊😁,也可能当时被用户喷过😂),既可以完成前端验证,也可以减轻服务器压力,以及优化交互,这个操作有现在的话说,简直就是6666啊。 在那个用电话拨号上网的年代,能够在客户端完成一个基本的验证任务绝对是令人兴奋啊,一时之间JavaScript成为了浏览器必备的一个特色。

由于JavaScript出现并成为浏览器必备特色以后,微软的 Intenater-Explorer浏览器绝对要和Netscape Navigator竞争自家产品,Intenater-Explorer3加入名为JScript的JavaScript实现,(命名为JScript是为了避开JavaScript版权问题😂)。以现在的眼光来看,微软1996年8月为进入web浏览器领域为实施这个重大举措,是导致Netscape Navigator后蒙羞的一个标志性事件。然而也标志着JavaScript作为一门语言,其开发进了一大步。

微软推出了JScript和远景推出的JavaScript,意味着有两个版本的JavaScript。那么站在咱们开发人员的角度来说,这一件多么可怕的事情,我写一个web页面要只要兼容两个版本的JavaScript,并且有可能这两个版本差别很大。想想就怕,这是双倍的开发啊,当然但是业界的开发人员也是有反馈,他们也受不了这种开发,当然他们更担心的是以会不会有第三家公司在创造一个本的JavaScript,于是JavaScript标准化问题很块就被提上了议事日程。

2 ECMAScript的产生

大家看好了,传说的ECMAScript就要诞生了,上面咱们知道JavaScript的由来和发展,以及多版本的创造,当时的业界担心。于是,就在1997年,以JavaScript1.1位蓝本的建议被提交给欧洲计算机制造商协会(ECMA,European Computer Manufacturers Association)。 该协会指定39号技术委员(TC39,Technical Committe #39)负责**“标准化、跨平台、供应商中立的脚本语言的语法语义”**,TC39🈶来着当时浏览器的大佬们推荐的程序员,他们经过数月的努力完成了ECMA-262-----定义一种名为ECMAScript的新的脚本语言的标准. 接下来的日子中浏览器开发商都以ECMAScript的新的脚本语言的标准进行开发。 2.1 ECMAScript 有哪些组成 ECMAScript是JavaScript的核心定义主要包含以下。

  • 1 语法
  • 2 类型
  • 3 语句
  • 4 关键字
  • 5 保留字
  • 6 操作符
  • 7 对象

3 文档对象模型 DOM(Document Object Model)

聪明的小伙伴一看DOM就是知道是文档对象模型,为什么有了DOM呢,在ECMAScript的定义中,是不包括输入和输出的定义,只是js的核心,浏览器实现ECMAScript的宿主,但是有核心也是不行的,所以浏览开发商不得不提出以下扩展,来遍历ECMAScript和宿主的交互,这些扩展中就包含了DOM,就这样DOM就产生了。

3.1 DOM的作用

DOM是针对于xml,但经过扩展用于HTML的应用程序接口。DOM把整个页面以家谱的形式一个或者多个节点

3.2 为什么要用DOM

开发人员可获得页面的内容和结构,接住DOM提供的API,开发人员可以轻松的自如的实现DOM的增删改查,而且是在不经过页面刷新的情况下。 3.3 W3C规划DOM 当时各大厂商提出的扩展,各有不同,就像上面JS刚刚产生的那样,可能没有浏览器随DOM的扩展语法和提供的API不一样,对于开发人员来说要开发一个使用与各个浏览区的web页面是个非常痛苦的事情,浏览器也互不兼容的局面,此时负责web通信的W3C(World Wide Web Consortium),主动的开始规划DOM

DOM 并不只是针对 JavaScript 的,很多别的语言也都实现了 DOM。 不过,在 Web 浏览器中,基于 ECMAScript 实现的 DOM 的确已经成为 JavaScript 这 门语言的一个重要组成部分。

3.4 DOM的组成

DOM1的规定的组成

DOM是有DOM Core 和 DOM HTML DOM Core 是如何映射基于XML的文档结构,以便于简化对文档任意部分操作。 DOM HTML模块则在DOM核心的基础上加以扩展,添加针对html的对象和方法。

DOM2的规定的组成

  • 1 DOM视图
  • 2 DOM事件
  • 3 DOM样式
  • 4 DOM遍历

DOM3的规定的组成

进一步扩展了 DOM,引入了以统一方式加载和保存文档的方法——在 DOM 加载和保 存(DOM Load and Save)模块中定义;新增了验证文档的方法——在 DOM 验证(DOM Validation)模

4 浏览器对象模型 BOM(Browser Object Model)

Internet Explorer 3 和 Netscape Navigator 3有一个共同的特色,那就是支持可以访问和操作浏览器窗口的浏览器对象模型(BOM,Browser Object Model)。

开发人员使用 BOM 可以控制浏览器显示的页面 以外的部分。而 BOM 真正与众不同的地方(也是经常会导致问 题的地方),还是它作为 JavaScript 实现 的一部分但却没有相关的标准。

这个问题在 HTML5 中得到了解决,HTML5 致力于把很多 BOM 功能写 入正式规范。HTML5 发布后,很多关于 BOM 的困惑烟消云散。

从根本上讲,BOM 只处理浏览器窗口和框架;但人们习惯上也把 所有针对浏览器的 JavaScript 扩展 算作 BOM 的一部分。下面就是一些这样的扩展:

 弹出新浏览器窗口的功能;
 移动、缩放和关闭浏览器窗口的功能;
 提供浏览器详细信息的 navigator 对象;
 提供浏览器所加载页面的详细信息的 location 对象;
 提供用户显示器分辨率详细信息的 screen 对象;
 对 cookies 的支持;
 像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象。

由于没有 BOM 标准可以遵循,因此每个浏览器都有自己的实 现。虽然也存在一些事实标准,例如 要有 window 对象和 navigator 对象等,但每个浏览器都会为这两个对象乃至 其他对象定义自己的属 性和方法。现在有了 HTML5,BOM 实现的细节有望朝着兼容性越来越高的方向发展。

各位小伙伴,看完高程3的第一章回忆出来的,JS大致记得发展和组成就是这样,如果发现有不足的地方请尽情的提出来,欢迎浏览*