今天在网上看到了一份很不错的JavaScript FAQ,由于担心自己并不能一直把它读完,所以就尝试翻译一些内容,和朋友们一起分享。
FAQ原地址:http://www.javascripter.net/faq/index.htm
一、常见问题
1、关于这个FAQ(About this FAQ)
Q:为什么要使用这个FAQ?
A:这个FAQ的目的是帮助你开发强壮的客户端脚本,它不但可以运行在Netscape Navigator上,也同样可以运行在Microsoft Internet Explorer上,并且是在各种操作系统下。这个FAQ所收集的内容不同于以下这些:
这里回答都是基于平台无关性的编码,而不是针对某一个特定的浏览器或者平台的。
这里的大多数回答都包含交互性代码,不用离开你正在浏览的页面就可以运行并得到结果(译者注:这个需要到原文上运行,点击标题就可以进入到原文中)。
在这里你可以找到问题的解决方案,而不只是确认问题存在。例如,其他资源可能会说:对不起,JavaScript不能从服务器上读取文件。而这个FAQ就会给你解决方案:这是一个Java applet,它可以帮助JavaScript从服务器读取文件。
2、JavaScript是什么(What is JavaScript)
Q:JavaScript是什么?
A:JavaScript是一种被设计为在HTML页面增加交互性的脚本语言。在1995年,它由Netscape社区第一次在Netscape Navigator 2 beta上实现。JavaScript不同于Java语言(由Sun微系统开发)。不过,二者的互操作很好。
JavaScript语言或者脚本,通常被直接嵌入到HTML文件中间。当用户的浏览器打开这个HTML文件时,脚本就会执行。(其实也有服务端JavaScript,但是它已经超出了本FAQ的范围。)
JavaScript是一种解释性语言。这就是说,脚本在执行前并不会提前编译,也就是,脚本不会转化系统相关的机器码。用户的浏览器解释脚本,即,分析和立即执行。JavaScript被以下的浏览器支持:
Netscape Navigator(从2.0开始)
Microsoft Internet Explorer (从3.0开始)
其他一些浏览器/产品,它们的制造商许可或实现了JavaScript解释器(如Opera,Firefox)
因此,当前大部分因特网用户的浏览器都支持JavaScript。这也是JavaScript为什么是向网页中增加交互性最流行的工具之一。
3. JavaScript的特性(JavaScript Features)
Q:JavaScript程序可以做什么?
A: 下面的列表给出了一部分典型的任务,在其中JavaScript作用显著:
给予用户更多的浏览器控制权
检测用户的浏览器、操作系统、屏幕尺寸等等
在客户端执行简单的计算
验证用户的输入
处理日期和时间
在运行过程中不访问Web服务器生成HTML页面
在下面你会发现一些简单的例子来演示每一个任务。
I.给予用户更多的浏览器控制权
示例:在这里,你可以修改这个页面的背景色,还有浏览器状态栏上的文字。
choose the background color light yellowpinklight bluelight greenwhitegray text on the status bar no textWelcome to JavaScript!JavaScript is not Java. It's better!I love JavaScript!
这里是一个由JavaScript实现的Back按钮。点击它,就会回到你前一个访问的页面。
II.检测用户的浏览器和操作系统。。如果需要,这个能力可以检测到用户的浏览器和操作系统信息,让你执行平台相关的操作。
示例,不同浏览器的用户会得到不同的问候:
III.在客户端执行简单计算。
示例:这是一个JavaScript计算器,输入一个算数表达式,JavaScript就会计算它的值。
IV.验证用户数输入。
示例:在上面的计算器,如果输入字母代替数字,就会得到警告:Invaid input characters!
注意,JavaScript协助浏览器执行输入校验,而不用浪费用户访问Web服务器的时间。如果用户在输入时犯错,他就会立即得到提示。另一方面,如果输入信息只能在服务器上校验,那么用户就不得不等待服务器响应。
V.处理日期和时间。
示例1:这是一个JavaScript时钟。
当地时间:
示例2:这个脚本会根据当前时间说“Nice morning, isn't it?”或者“Good afternoon!”或者“Wow, you are not sleep yet!?”。它还会告诉你今天的日期。
VI. 运行中生成HTML页面。
示例:左侧的目录(译者注:在原文,左侧是一个目录)就是动态展开的。要查看某项的所有子项时,点击与之相应的白色箭头。隐藏时,点击箭头。
每次点击这些箭头,浏览器就会在左侧框架中产生和显示一个新的HTML页面。正是由于JavaScript,这个才可以在客户端完成,因此你不用等待信息在浏览器和Web服务器之间的来往反复。