毕 业 设 计(论文)
外 文 文 献 翻 译
文献、资料中文题目:深入浅出JavaScript
文献、资料英文题目:
文献、资料来源:
文献、资料发表(出版)日期:
院 (部):
专 业: 计算机科学与技术
班 级:
姓 名:
学 号:
指导教师:
翻译日期: 2017.02.14
毕业设计(论文)外文资料翻译
题 目: Beginning JavaScript with DOM Scripting and Ajax
深入浅出JavaScript
学 院: 信息工程学院 系 计算机
专 业: 计算机科学与技术
班 级:
学 号:
姓 名:
指导教师:
起讫日期:
外文资料翻译译文
深入浅出JavaScript
1.1 JavaScript产生的原因
在Web发展的初期,主要有HTML和公共管理接口(GUI)。HTML定义了大部分的文本文档并且只是用户代理(通常为网页浏览器)如何显示。比如,标签<p></p>之间的文字就会成为一个段落,在这个段落中可以使用标签<h1></h1>来定义最主要的页面标题。注意大多数开始标签,都会有相应的以</开头的结束标签。
HTML有一个缺点,即他的状态是固定不变的。如果想改变一些东西或者使用用户输入的数据,就需要向服务器提出一个往返的请求。使用动态技术(如ColdFusion、ASP、ASP.NET、PHP或JSP)就可以从表单或者参数中将信息发送到服务器然后通过服务器完成
计算、测试、数据库查等。与这些技术相关联的应用程序服务器则会产生一个HTML文档来显示结果,然后把处理的结果一HTML文档的形式返回到浏览器以供用户查看。
这样做的问题在于无论何时网页只要有变化,以上整个过程都需要再重复执行一遍(并且重新加载网页)。这样会显得比较笨重缓慢,没有网络这个新媒介对我们承诺的那么美好。现在,人们已经普遍拥有了快速的因特网连接。但是显示一个页面仍然意味着重新加载,这是一个时常失败的缓慢过程(遇到过Error 404没有?)。
我们需要更加灵活的东西——要允许Web开发人员快速地对用户给予反馈并且不用从服务器重新加载页面就能改变HTML。可以想象有这么一个表单,只要有一个字段中产生了错误,它都需要重新加载,如果能够不用重新从服务器加载页面,就能快速地获取错误提示,那岂不是更方便实用?这正是JavaScript的用武之地。
一些信息(比如表单上的一些计算和验证信息)并不需要依靠服务器。JavaScript可以由访问者电脑上的用户代理(通常是一个浏览器)来执行。我们把这叫做客户端代码(client-side code)。这样可以减少与服务器的交互成本并且使网站运行得更快。
1.2 JavaScript是什么
JavaScript的前身是LiveScript,但是网景公司后来把名字改成了JavaScript,很可能是由于Java的火爆。这个名字经常会令人感到迷惑,因为尽管Java与JavaScript有些语法比较相近,但它们之间并没有必然的联系。
Java之于JavaScript就好比Car(汽车)之于Carpet(地毯)。
——来自Usenet上的JavaScript讨论组
网景公司在1996年创造了JavaScript语言,它包含在Netscape Navigator(NN)2.0浏览器中,用解释器来读取和执行添加到.html页面的JavaScript代码。从此,这种语言稳步发展壮大并越来越普及,现在大多数浏览器都支持它。
这意味着JavaScript可以用于网页中,被所有现代的浏览器所解释。但是,不同的浏览器在实现JavaScript的方式上是不同的,尽管核心的JavaScript语言是一样的。不过,JavaScript可以被用户关闭掉,并且一些公司和机构从安全的角度考虑要求他们的用户这样做。这个我们稍后(贯穿本书)会进一步讨论。
关于JavaScript最大的特点就是,一旦学会了如何在浏览器编程中使用它,你就可以把它应
用到其他的领域中。微软的服务器使用JavaScript去做服务器端网页编程(ASP),PDF文件现在也在使用JavaScript,甚至Windows的任务管理也可以使用JavaScript来自动运行。许多应用程序,如Dreamweaver和Photoshop,都可以使用JavaScript来编写脚本。操作系统上的许多插件,比如苹果公司的Dashboard或者Linux和Windows平台上的Konfabulator,甚至允许使用JavaScript编写小的帮助程序。
最近许多大公司也提供了可用在网页中的JavaScript对象和方法组成的API(应用编程接口),Google Maps就是其中的一种。只需要使用几行代码就可以在你的网站中提供可缩放和可滚动的地图。
另一个更好地特点就是,JavaScript比高级编程语言和服务器端编程更容易开发。它不需要像Java和C++那样编译,也不需要像Perl、PHP或Ruby语言那样运行在服务器上或需要在命令行执行。编写、执行、调试和应用JavaScript脚本所需要的只是文本编辑器和浏览器,而这两者在所有的操作系统上都提供。当然,也有工具可以使你更加方便,如Mozilla Venkman、Microsoft Script Debugger和kjscmd这样的JavaScript调试器。
1.3 JavaScript的问题和价值
正如我在本章的开始提到的,JavaScript在过去的几年里就已经成为Web开发的一个完整的部分,但是它也经常被错误地使用。结果,它就落了一个不好的名声。导致这个结果的原因是某些严重影响用户的JavaScript特效,如移动的页面元素和弹出窗口。这种情况你第一次看到印象会很深刻,但很快就变成了“有了也不错”,在有些情况下,甚至变成“没有更好”。许多类似的效果都来自DHTML时代(相见第3章)。
术语用户代理(user agent)和对其含义的缺乏理解同样也是一个问题。通常,用户代理是指一个浏览器,比如微软的IE,Netscape、Mozilla(Moz),Firefox(Fx)、Opera或Safari。但是浏览器不是web上唯一的用户代理,其他用户代理还包括:
• 辅助技术,用来帮助用户克服它们的缺陷——比如语音合成软件或者盲文显示器。
• 纯文本代理,例如Lynx。
• 支持Web的应用程序。
• 游戏控制台。
• 手机。
• 个人数字助理(PDA)。
• 交互式的电视机顶盒。
• 搜索引擎和其他索引程序
• 其他
这么多类的用户代理(以及一些没有更新的旧用户代理),它们使用了不同的技术手段,对于JavaScript也是一个非常大的危险。
并不是所有的访问者都能体验到你所应用的JavaScript增强,许多人都会出于安全的考虑关闭JavaScript。JavaScript既可以用来做好事,也可以用来做坏事。如果操作系统(比如没有打补丁的windows)语序,可以通过JavaScript来在某台计算机上安装病毒或木马,或者读取用户信息并把它发送到另外一个服务器上。
■注解 没有办法知道访问者在使用什么工具,他的计算机功能如何。再者,你永远不知道访问者的经验和能力如何。这也是网络很好的一个方面——每个人都可以参与。然而,这样会
给JavaScript程序员带来意外的后果。
javascript高级语法在大多数情况下,你可能想要一种服务器端的替代方案。它可以测试用户代理是否支持所需要的功能,如果不支持,服务器会使用其替代方案。
脚本语言的独立性对于网站是法律方面的要求,在英国的数字歧视法、美国法律的508条款和世界上其他地区的法律中都有定义。这意味着如果你开发的站点没有JavaScript就不能使用,或者你的JavaScript增强需要用户或用户代理在不低效运行得情况下具有一定的能力,那么你的客户就可以控告你歧视。
然而,JavaScript既不是邪恶的也不是没用的,它是一个优秀的工具,可以帮助在你平滑流畅的网站上冲浪的用户花费更少的时间。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论