网络编程
位置:首页>> 网络编程>> JavaScript>> JavaScript的目的及历史(2)

JavaScript的目的及历史(2)

作者:Realazy 来源:Realazy的blog 发布时间:2007-10-17 18:53:00 

标签:JavaScript

技术概述

JavaScript分为六个方面,分别是核心(Core),浏览器对象模型(BOM),事件(Events),文档对象模型(DOM),CSS变更和数据获取(XMLHttpRequest)。

上古时代,NetScape领头之时,NetScape3是事实标准。

当代却没有这么简单。ECMA标准化JavaScript Core, W3C标准化DOM,而BOM尚在WHAT-WG的标准化中,W3C也刚有了XMLHttpRequest的第一份草稿。今天,BOM依然遵循NetScape3的事实标准,而XMLHttpRequest还是遵照Microsoft的原始规范。

JavaScript的目的在于为网站增加可用性,而不是破坏用户的隐私和安全。因此JavaScript不允许读写用户的文件(cookies除外),采取同源策略,只允许来自相同域的交互。不允许读取历史记录,不能为上传文件的表单设置值,由JavaScript控制的窗口关闭需经用户确认,由JavaScript打开的窗口不能小于100×100的窗口,不能移出屏幕之外。

JavaScript的历史

探寻历史才能让我们知道JavaScript为什么会被误解得如此深。JavaScript的创造者是Brendan Eich,首次在NetScape 2中实现。它的目的是创建一门足够简单的语言让开发者能容易地为网页增加交互,只要把代码拷贝过来调整一下就可以。这确实令人赞叹,很多JavaScript开发者是从拷贝粘贴开始的。

不幸的是JavaScript生错了名字,也生错了语法。最初它叫LiveScript,但1996年的时候Java炙手可热,NetScape想搭顺风车,于是某产品经理(我想知道她/他是谁,呵呵),命令更名,命令Brendan Eich让“Javascript像Java”。这让很多人误认为JavaScript是Java的低级版,不能引起严肃程序员的关注。

1996年之时,NetScape 3是王,Microsoft只能照抄。这是一个难得的和谐期,当然,那时候浏览器比起现在来“瘦”了,仅限于表单验证,鼠标轮换的一些小花招而已。

接下来就是影响深远的浏览器大战了。为了争夺市场,两家浏览器纷纷实现不同的东西,谁都想成为事实标准。最有名的就是NetScape 4的document.layer和IE 4的document.all(忘记它们吧!)。它们让DHTML流行起来。

1999年Microsoft以推出良好支持CSS和DOM的IE5胜出,NetScape的让位终于有足够的时间让一场革命发生,那就是CSS。WaSP首先从CSS入手,而很多专家也发现/发明了许多浏览器的补救办法,让这场革命成为可能。

2003年,一些先锋们在CSS革命的影响下开始探索新的JavaScript风格,更多地关注无障碍,改观人们对它的坏名声,那就是unobstrusive——把JavaScript从HTML结构层分离出来,遗憾的是,那些在浏览器大战存活下来的程序员可能还没有发现这条新道路。

2005年,Ajax热潮为JavaScript社区注入新的血液。但某些方面,Ajax太像DHTML了,无障碍,是很多Ajax应用的难言之隐。这个热潮趋向于关注技术(如何Ajax),而可用性和交互(为何Ajax)却被低估。最后,各种肿胀的库(现在称为框架)迅速发展起来。

Ajax依然全速前进,但这会像DHTML一样结果,人们渐渐失去兴趣,它们会土崩瓦解。

JavaScript兴衰史好像有一定的“定律”支配,我们能打破这个怪圈吗?不管如何,JavaScript开发者在寻找各种酷代码和华而不实的框架之外,更应该调整自己的行动,让JavaScript运行在:标准兼容的,无障碍的网页中。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com