JavaScript,Ajax Web服务客户端语言

日期: 2008-04-21 作者:William Brogden 来源:TechTarget中国 英文

最近,JavaScript的热点集中体现在Ajax (asynchronous JavaScript and XML)之中的J,但是作为一种脚本语言,它已经流行了好几年了。这种脚本语言诞生自Netscape公司Web浏览器的”LiveScript”,它处于浏览器的环境中并控制着浏览器的显示。在Netscape公司加入了Java applet功能后,一些市场专家决定把LiveScript更名为JavaScript。结果,由于二者在语法上非常接近,导致了好多年的混淆。

  在与Netscape浏览器竞争的时候,Microsoft发明了自己的脚本语言,称为Jscript。它是……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

最近,JavaScript的热点集中体现在Ajax (asynchronous JavaScript and XML)之中的J,但是作为一种脚本语言,它已经流行了好几年了。这种脚本语言诞生自Netscape公司Web浏览器的"LiveScript",它处于浏览器的环境中并控制着浏览器的显示。在Netscape公司加入了Java applet功能后,一些市场专家决定把LiveScript更名为JavaScript。结果,由于二者在语法上非常接近,导致了好多年的混淆。

  在与Netscape浏览器竞争的时候,Microsoft发明了自己的脚本语言,称为Jscript。它是造成开发人员一直到今天都不能在浏览器之间兼容的根源。第一个技术标准被称为ECMA-262,原本是想提供一个通用的API。正规的说,我们应该把JavaScript称为ECMAScript,不过从来都没有用过。Ecma International是一个标准化组织,从前被成为European Computer Manufacturers Association(欧洲计算机制造商协会)。

  作为创建丰富用户体验的技术,JavaScript比起其它的技术,例如Flash、ActiveX和Java applets等,都有很多的优势。因为JavaScript可以连接到所有组成Web页面的元件,而其自身的发展也从所有技术中收益,例如已经演变成创建现代Web浏览器的CSS。

  文档对象模型和XHTML

  文档对象模型又称为DOM,它使JavaScript可以定位、改变内容以及展示HTML页面的所有元素。可惜,早期的浏览器发展并没有一个DOM标准,所以每个厂商都有自己的DOM终端。W3C官方说明书中的"Level 1"和"Level 2" DOM推荐书都被现代浏览器所实现,使得Ajax的发展成为可能。XHTML是对HTML的一个简单细化,它通过强制XML语法使得使用HTML标签具有更大程度的预描述性。

  级联样式表

  CSS的核心思想就是把表示层的控制与HTML元素内容分离开来。当被正确应用后,CSS提供了站点中所有页面展示的一致性、使得编辑更加简单、同时也减低了传送带宽。“级联”原则使通用的风格被特定目的的风格所覆盖。JavaScript能够直接操纵控制CSS表示的DOM元件。尽管有CSS的官方W3C推荐书,但是对于DOM的浏览器兼容性并非100%。

  事件与异步需求

  JavaScript的一个关键特性就是在对事件的响应中执行代码。例如,当用户的鼠标经过时,按钮等HTML元素外观要发生改变。因为有一个onmouseover()函数被指定到这个按钮。这种情况下,所有的动作对于浏览器就是本地的。

  JavaScript异步获得Web服务或其它数据的关键工具就是XMLHttpRequest。JavaScript在自身的执行线程中给出这样的一个请求,因此当请求对象在等待一个响应时,所有一般浏览器事件处理都可以使用。程序员必须使用一个函数来自动地在不同的端点处理请求时调用。最终,要么得到一个错误信息,要么得到完整的响应。

  如果服务器以XML文档的方式发送文本,请求会返回一个DOM对象,从这个对象中可以用处理HTML的JavaScript方法来抽取数据。然后,当这个数据被接受或者在被需要的时候持有时,它可以被HTML页面中现有的文本所取代。

  编写JavaScript

  作为一种脚本语言,JavaScript能够被浏览器拥有的翻译器执行。尽管比可执行的编译代码慢,但它也是Ajax应用程序的优点。因为程序可以被汇编成多种源代码。Ajax使得你可以把JavaScript数据唯一地与。标准库代码和标准CSS风格样式一样,能够被Web浏览器缓存,用于降低带宽。

  Ajax的潜在问题

  在过去那种为单个Web网页而做的JavaScript编程和Ajax编程之间有一个很重要的区别。在很多人的Ajax应用程序编程中,一个单独的Web网页可以拥有可扩展的JavaScript代码和对象集合用于当HTML数据被载入和动态展示时的扩展阶段。这与过去那种新Web网页需要新代码和频繁对象载入的使用模式非常不同。尽管JavaScript从被丢弃的对象中恢复内存,但编写不好的代码还是有可能持有对象引用而造成“内存泄露”。这种错误不会在短期的页面中造成问题,但对于具有长生命周期的页面来说就会有问题。

  出于安全原因,JavaScript通常被限制从宿主发出请求来提供Web页面。因此,如果你想从各种Web服务中连接资源,你就必须好好设计系统使得服务器发出请求并延迟发送到JavaScript客户端的数据。

  另一个潜在的问题是搜索引擎的索引。因为通过Ajax与用户交互而动态产生的内容不能被搜索引擎机器人看到。

  工具

  你不应该在没有浏览器工具来尝试Ajax。因为浏览器工具可以让你检查HTML页面的DOM表示。Firefox浏览器很理想,因为它有一个菜单项就是“DOM检查器”。该DOM检查器能让你浏览页面的层次结构,包括JavaScript和CSS元素。此外,还有很多Firefox插件可以用来调试JavaScript。

  每当一种新的技术获得公众和产业界的青睐时,就会出现很多满足需求的供应商。很多连接了JavaScript库的Ajax工具集和定制的用户接口组件不断出现。其中一些是商用的而另一些是开源的。这个领域变化太快,我很难提供什么建议。

相关推荐