JavaScript FAQ(一)—— 常见问题(一)

        今天在网上看到了一份很不错的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 greenwhitegraytext on the status bar  no textWelcome to JavaScript!JavaScript is not Java. It's better!I love JavaScript!

 

        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服务器之间的来往反复。

       这里是一个由JavaScript实现的Back按钮。点击它,就会回到你前一个访问的页面。

时间: 2024-09-21 12:29:07

JavaScript FAQ(一)—— 常见问题(一)的相关文章

JavaScript FAQ(四)——导航功能增强

 二.导航功能增强   1. 下拉菜单中的链接(Links in Select Menu) Q:我如何实现在下拉菜单中链接到不同的页面? A:要创建一个所示的下拉菜单:选择一个页面JavaScript FAQNumbersStringsNavigationColorsJavaScripter.net 你可以使用下面的代码: <form> <select onChange="if(this.selectedIndex!=0) self.location=this.options[

JavaScript FAQ(二十五 完)—— 错误处理

二十二.错误处理   1.禁止JS错误(Suppress JS Errors) Q:我是否可以禁止JavaScript错误信息? A:可以.要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分: <SCRIPT language="JavaScript"> <!-- function silentErrorHandler() {return true;} window.onerror=silentErrorHandler; //--

JavaScript FAQ (三)——常见问题(三)

 一.常见问题   9. JavaScript的注释(Comments in JavaScript) Q:我如何在JavaScript代码中插入注释? A:JavaScript支持三种不同类型的注释: 多行C样式的注释. 包括在/* 和 */   内的内容都是注释,例如: /* This is a comment */ /* C-style comments can span as many lines as you like, as shown in this example */ C++样式

JavaScript FAQ(九)——Ajax

 七.Ajax问题   1. Ajax:异步JavaScript和XML(Ajax: Asynchronous JavaScript and XML) Q:Ajax这个流行词到底是什么意思呀? A:Ajax这个短语最初有Jesse James Garrett提出,他是Adaptive Path的共同创始人.缩略语Ajax(通常只有第一个字母A大写)代表异步JavaScript和XML(Asynchronous JavaScript and XML):从本质上说,它是一个营销短语,意思是可以开发一

JavaScript FAQ (十九)——文件访问

十六.文件访问(File Access)   1.读取文件(Reading a File) Q:如何将文件读取到JavaScript变量中? A:根据脚本运行的环境和文件的位置,你可以有以下选项: XMLHttpRequest 对象(通过URL读取网站上可用的文件) FileSystemObject(如果你在一个被信任的环境下使用Windows Scripting Hosting或者IE) 一个读取文件或者URL的"助手"Java applet  关于前两个选项的讨论,请点击上面的超链

JavaScript FAQ(七)——对话框

 五.对话框   1. 警告(Alert) Q:我如何从JavaScript产生警告信息? A:要产生警告信息,可以使用alert()方法:   alert('Message goes here'); 上面的按钮由下面的代码创建: <form name=myform> <input type=button value="Try it now" onClick="alert('Hello from JavaScript!')"> </fo

JavaScript FAQ(五)——数字

 三.数字   1. 常量(Constants) Q:在编写JavaScript代码时,我可以使用什么类型的数字? A:在JavaScript中,你可以使用下列形式的数字: 常规十进制数字: 5 137 1.3 指数形式的十进制数字: 6.67e-11  -1.127e20 八进制数,例如:  01234  -077  0312 八进制的正数需以0开头,而负数应以-0开头. 十六进制数,例如: 0xFF  -0xCCFF  0xabcdef 十进制的正数需以0x开头,而负数应以-0x开头. 2.

JavaScript FAQ(十六)——鼠标事件(三)

 十二.鼠标事件   5. Ctrl.Alt.Shift键(Ctrl, Alt, Shift Keys) Q:我如何检测和按下Ctrl.Alt和Shift键一起的鼠标事件? A:在当今的浏览器中,脚本可以检测鼠标事件发生时,用户是否按下了Ctrl.Alt或者Shift键中任何一个.在下面的例子中,由MouseDown和MouseUp事件完成演示.而至于其它鼠标事件,类似的方法可能达到效果,也可能达不到效果,这依赖于浏览器. 要实现Ctrl/Alt/Shift检测,你可以使用属性event.ctr

JavaScript FAQ(十二)——层

 十.层   1. 层内放置外部文件(External Files Within Layers) Q:我可以在将外部的HTML文件作为页面的一部分显示吗? A:可以,你可以通过使用下面方法实现: LAYER或者ILAYER标记,SRC=FILENAME.HTM(在Netscape4中) IFRAME标记,SRC=FILENAME.HTM(在Explore4+ 和 Netscape 6中) 你可以使用JavaScript检测浏览器的名称和版本(见客户端信息),然后生成需要的IFRAME或者LAYE