您的位置:首页 > Web前端 > JavaScript

javascript的前世今生

2015-05-30 00:53 330 查看
首先说说javascript是怎么出现的呢?在web1.0时代,为了减轻服务器的压力,让客户端进行一些简单的工作比如基本的表单验证任务,早期占据着霸主地位的浏览器厂商Netscape开发了livescript(后面改名为javascript),并在市场上取得了极大的成功,作为其竞争对手的微软也迅速跟进开发了JScript,但二者开发的是自家的语言标准,后来为了统一标准就由ECMA这个组织来制定一个标准,折腾了一段时间ECMA-262问世了,它定义了名为ECMAscript的脚本语言标准。这个标准大概定义了诸如语法,类型,关键字,操作符,对象等东西。后面ECMAscript陆续推出了2.0,3.0,4.0,5.0版本。2.0版本只是为了让其ISO的标准相符,一般不考虑它兼容性。3.0则是个大转折,它出现了异常处理支持,正则表达式支持,新的流程控制等。4.0本来是个更为巨大的变化,增加了诸如强类型变量,真正的类与标准的继承等元素,可以说几乎定义了一门新语言。但为了在支持当时的javascript引擎,人们不怎么认可4.0,所以一种在3.0上做小幅改动的5.0应运而生。它包括了原生json对象、继承的方法和高级属性定义,并包含了一种严格模式。
但是ECMAscipt并不是就等价于Javascipt,它们间的关系大概是这样的Javascript=ECMAscipt+DOM+BOM。什么是DOM呢,DOM全称是文档对象模型,为了更好的访问Html,xml之类的文件而且防止Netscape与微软两家公司各自发展自己的DHTML,W3C制定了DOM标准。DOM1目标是为了让开发者能够访问与操作文档内容与结构,DOM2目标是对鼠标与用户界面事件的、遍历、CSS等模块的功能实现。DOM3则增加了文档保存与加载模块及文档验证模块。当然在DOM这块也出现了各浏览器的兼容问题,IE9之前的系列不支持DOM2,这在实际开发中要注意。
 

最后来说说BOM,浏览器对象模型,它提供了对浏览器的交互操作,如打开一个新的窗口、缩放窗口,提供用户显示分辨率详细信息的screen对象,提供浏览器详细信息的navigator对象,以及提供浏览器加载页面时详细信息的location对象,最后还有对cookies的支持XMLHttpRequest,ActiveXObject这样的自定义对象。当然这个东西也没有统一的标准,但在H5中这些兼容性是有极大提高的,可以说大幅兼容了BOM标准。

回头看javascript的历史,可以说它是web应用能够至今依旧如此激情燃烧的强力助燃剂,但火影里也深深的印刻了几大浏览器之间的明争暗斗,最后苦逼的的还是他们的上帝——用户,这用户当然包括身为开发者的我们了哈……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息