JavaScript入门(三)

1.2.    JavaScript是什么

J avaScript 的前身是 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 最大的特点就是你一旦学会了如何在浏览器编程中使用它,你就可以把它应用到其它领域中。微软的服务器 -IIS- 使用 JavaScript 去做服务端编程( ASP ), PDF 文件现在也使用 JavaScript ,甚至 Windows 的任务管理也可以使用 JavaScript 来自动运行。许多应用程序,如 Dreamweaver Photoshop ,都是使用 JavaScript 来实现脚本化的。操作系统上的许多插件,如苹果公司的 Dashboard 或者 Linux Windows 平台的 Konfabulator ,甚至允许你使用 JavaScript 编写小的帮助程序。
最近许多大公司也提供了你可以在自己网页中使用 JavaScript 对象和方法的 APIs (应用程序编程接口), Google 地图就是其中的一种。你只需要使用几行代码就可以在你的网站中提供可缩放和滚动的地图。
另一个更好的特点就是 JavaScript 比高级编程语言和服务端编程语言更容易开发。它不需要像 Java C++ 那样需要编译,也不需要像 Perl PHP Ruby 语言那样运行在服务器上或需要在命令行执行。所有你需要做的就是使用文本编辑器和浏览器来编写,执行,调试和应用 JavaScript 脚本,而这两个在所有的操作系统中都是已提供的。当然,也有工具可以使你做这些更加方便,例如就有 Mozilla Venkman Microsoft Script Debugger, kjscmd JavaScript 这样的调试器。

1.3.    JavaScript的问题和法律权利

就如我在这一章的开始提到的, JavaScript 在过去的几年里已经成了 web 开发的一个完整部分,但它也被用作不正当的用途。结果,它就落了一个不好的名声。导致这个结果的原因是蛮横的 JavaScript 特效,如移动页面元素和弹出窗口。这种情况你也许印象比较深刻,第一次你看到他们但很快就转变成另一个网页,甚至有的情况下弹出许多窗口,以至于你不希望再打开窗口了。许多类似的效果都来自 DHTML ( 在第三章中有更多介绍 )
术语用户代理和对用户代理是什么的缺乏理解同样也是个问题。通常,用户代理是指一个浏览器,如微软的 Internet Explorer MSIE ), Netscape Mozilla Moz ), Firefox Fx ), Opera Safari 。但是浏览器不是 Web 上唯一的用户代理。其它的包括:
l        辅助技术,用来帮助用户克服它们的缺陷 如文本阅读软件或者盲人显示器
l        纯文字网页浏览器,像 Lynx
l        Web 激活的应用程序
l        游戏控制台
l        手机 / 蜂窝电话
l        掌上手机( PDAs
l        交互式的电视机顶盒
l        搜索引擎和其它检索程序
l        更多其他的
这么多类用户代理,使用了不同的技术手段(一些旧的用户代理没有更新),对于 JavaScript 也是一个非常大的危险。
并不是你网站所有的访问者都能体验你应用的特效,许多人都会出于安全的考虑把 JavaScript 功能关闭。 JavaScript 既可以被用来做好事,也可以用来做坏事。如果操作系统(如没有打补丁的 Windows )允许,你可以通过 JavaScript 来在一台电脑上安装病毒或木马或者读取用户的信息,然后发到另一个服务器上。
                                                                                  
 
注解: 没有办法知道访问者在使用什么工具或者它的电脑的功能。再者,你永远不知道访问者的经验和能力如何。这也是网络很好的一个方面---每个人都可以参与。然后,这样会给JavaScript程序员带来意外的结果。
                                                                                 
 
在大多情况下,你可能想要一种服务端的替代方案。它可以测试用户代理是否支持需要的功能,如果不支持,服务器会使用其替代方案。
独立的脚本语言对于网站是个法定的要求,在英联邦的数字歧视法,美国法律的 508 节和世界上其它的地区法律中都有定义。这意味着如果你开发的站点没有 JavaScript
就不能使用,或你的 JavaScript 特效需要用户具有一定的能力或者他们的用户代理没有起作用,你的客户就可以控告你歧视。
然而, JavaScript 既不是邪恶的也不是没用的,它是一个伟大的工具,可以帮助在你网站上冲浪的用户,感觉更加平滑流畅和花费更少的时间。

你可能感兴趣的:(JavaScript,职场,休闲)