javaScript简介(第一章)

来源:互联网 发布:怎么上淘宝商学院 编辑:程序博客网 时间:2024/05/29 23:46

1.1 js简史

Javascript诞生于1995年。当时的作用仅仅是用来处理一些以前由服务器语言来处理的表单验证等操作,节约拨号上网验证时间。

就职于Netscape公司的布兰登-艾奇,开始为计划于1995年发售的Netacape Navigator 2开发一种名为Livescript的脚本语言,在发布前夕,Netscape为了搭上媒体炒作java的顺风车,改名为Javascript。

1997年,以javascript为蓝本的建议被提交给了欧洲计算机制造协会(ECMA);

1.2 Javascript实现

虽然javascript和ECMAScript通常都被人们用来表达相同的含义,但javascript的含义却比ECMA-262中规定的要多的多。一个完整的javaScript实现应该由下面三个不同的部分组成。

  1. 核心(ECMAScript)
  2. 文档对象模型(DOM)
  3. 浏览器对象模型(BOM)

1.2.1 ECMAScript
由ECMA-262定义的ECMAScript与web浏览器没有依赖关系,事实上,这门语言本身并不包括输入和输出定义。ECMAScript定义的只是这门语言的基础,而在此基础上可以构建更完善的脚本语言。

我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一,宿主环境仅提供基本的ECMAScript的实现,同时也会提供该语言的拓展,以便语言与环境之间对接交互。而这些扩展—如DOM,则利用ECMAScirip的核心类型和语法提供更多更具体的功能,以便实现环境的操作。其他宿主环境包括Node和Adobe Flash。

既然ECMA-262标准没有参照web浏览器,那它都规定了些什么内容呢?大致说来,它规定了这门语言的下列组成部分:

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

ECMAScript就是对实现该标准的各个方面内容的语言描述(就像是创业企划书,当然你要说像宪法哲学什么的应该也可以)

还有一个很重要的是ECMAScript的版本,!!!重点,敲黑板,头几天竟然有人问我,ES5最新出来的是不是不太有人用,嗯,这也是为什么这章我也要敲一遍的原因,科普一下了解起因经过结果大环境,说不定以后谁想写一门新的语言,总要知道从何而起对吧。咳咳,装完了,接着写。

ECMAScript的不同版本又称为版次,以第x版表示。ECMA-262第一版第二版第三版都是在不断完善编辑加工而来的,第四版对这门语言进行了一个全面的检验修改,但由于语言跨越太大语言修订各各小组争论不休,最后ECMAScript3.1的方案被保守派通过,称为ECMA-262的第五版,并在2009年发布。敲黑板,ECMA-262没有第四版。后来的ECMA-262第四版,在2015年正式发布,为ECMA-Script第六版又被称为ES6,或者ES2015。

下面还有一个ES兼容,但是现在大部分浏览器都支持ES5了,so这一章我不准备写了,等到哪天机缘巧合或者再有需要再过来重新添上。(可能用不着了)

1.2.2 文档对象模型(DOM)

这是javascript三个组成部分之一,文档对象模型,顾名思义,将文档作为一个对象的模型,最初是针对XML但经过拓展之后也可以用于HTML的用用程序编程接口。

DOM将整个页面映射为一个多层节点结构,HTML或者XML的页面中每个人组成部分都是某种类型的节点,这些节点又包含不同类型的数据。

1、为什么要用DOM

ie和网景分别支持不同的DHTML(Dynamic HTML)(我是这样理解的,就是DOM操作的前身),但要知道当时微软跟网景打的不可开胶,对于DHTML的开发更是各持己见,so,这个时候负责制定Web通信标准的W3C(万维网联盟)嗯,超人出马接手了规划DOM拯救地球的任务。
(这么一种当时开发人员首次遇见的无需重新加载网页就可以修改其外观和性能的神器,方便了多少开发,傻子才不支持)

2、DOM的级别

DOM1级,分两个模块,DOM Core 和DOM Html,核心,映射文档结构,DOM HTML在核心的基础上进行扩展,增加了针对HTML的对象和方法

DOM2级,在原来基础上扩充了鼠标和用户界面事件,范围,遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对css的支持。DOM1中的核心模块在扩展中也开始支持XML命名空间。

引入的新模块    DOM视图(DOM Views):定义了跟踪不同文档(例如应用css文档之前和之后的文档)试图的接口。    DOM事件(DOM Events):定义了事件和事件处理的接口。    DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口。    DOM遍历和范围:定义了遍历和操作文档树的接口。

DOM3级则进一步扩展了DOM,引入了统一加载和保存文档的方法(在DOM加载和保存模块中定义),新增了验证文档的方法(在DOM验证模块中定义),DOM3级中也对DOM核心进行了拓展,开始支持XML1.0规范,涉及XML Infoset 、XPath和XML Base。

3、其他DOM标准
除了DOM核心DOM HTML接口之外,另外一些语言也发布了只针对自己的DOM标准。如XML,以下略,有i兴趣的童鞋可自行百度谷歌查找相关资料。
4、web浏览器对DOM的支持

咳咳,略吧。

1.2.3 浏览器对象模型(BOM)

Bom是一个支持可以访问和操作浏览器窗口的浏览器对象模型。开发人员通过BOM可以控制浏览器显示的页面以外的部分。而BOM真正与众不同的地方(也是经常会导致问题的地方),还是它作为javaScript实现的一部分却没有相关标准(浏览器厂家没有统一组织,嗯,可能是这样),这个问题在HTML5中得到了解决,HTML5致力于把很多BOM功能写入正式规范。

从理论上讲,BOM只处理浏览器窗口和框架,但人们也习惯于把所有针对浏览器的javaScript算作是BOM的一部分,例如

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

1.3 javaScript版本

嗯,我们很少用版本来分辨jacvascript,并且对js版本有表示的目前只有Mozilla公司了,有感兴趣的自行查阅。略

重重重点,js是一门专门为网页交互设计的脚本语言,由三个部分构成
ECMAScript,文档对象模型和浏览器对象模型。(不知道的可能需要把上面重读一遍,嗯,就酱紫,拜拜~)

原创粉丝点击