JavaScript概述 |
|
|
1 、 JavaScript 的 由 来 由名称可以看出,JavaScript是一种描述语言(而且是面向对象的)。它专门用来开发Internet客户端和服务器端的应用程序。在客户端,通过浏览器解释嵌入在HTML页面中的JavaScript描述语句;在服务器端,用LiveWire(JavaScript在服务器应用方面的一部分)可以创建类似与CGI的服务器应用程序。在客户端的JavaScript语句处理用户输入时不用进行网络传输,所以,可以用JavaScript开发快速运行的HTML页。 最初Netscape定义了JavaScript的原型,应用于Netscape Navigator上。此后Java语言的发明者SUN也支持并推广JavaScript。在Netscape Navigator的不断升级中,由于Navigator在市场上占有优势,JavaScript几乎成为工业标准。 2、本教材的一些约定 本教材中的JavaScript脚本除了特殊说明外,都在Microsoft Internet Exployer 4.0和Netscape Communication 4.01上测试通过。 本教材中的统一资源定位地址(Uniform Resource Locators)的形式为: http://server.domain/path/file.html 本教材假定读者具有一定的制作主页的经验,因为本教材不专门讲解HTML。如果读者对C或Visual Basic比较熟悉,学习JavaScript会比较快;如果没有学过,也一样可以掌握它。 鉴于大多数读者的情况,本教材中将用大量的篇幅讲述JavaScript,而在本教材的最后介绍一下LiveWire。 除此之外,本教材推荐读者用UltraEdit编写HTML文件,因为UltraEdit将HTML和JavaScript的关键字都用不同的颜色醒目的表示出来,读者可以借此减少输入错误。 3、JavaScript的第一个例子 大多数程序设计语言的第一个例子是HelloWorld程序。下面也给出一个用JavaScript写的HelloWorld脚本。也许你现在不能完全理解它,但本教材将在后面对语法等做详细说明。现在,你只要通过这个例子了解JavaScript的一些基本情况就可以了。 用UltraEdit建立一个名为hello.html的新文件,输入以下内容: <HTML> 在Internet Explorer 4.0中打开hello.html文件,可以看到图1.1所示的窗口: 从hello.html中可以看出,<Script>和</Script>之间的内容是JavaScript代码。为了代码不出现在不支持JavaScript的浏览器中,可以使用<!-和-->作为注释,在注释中书写JavaScript的代码。若要在JavaScript的代码中使用注释,可以象C++一样使用//。支持JavaScript的浏览器会自动解释JavaScript的代码的。 在标记<script>中可以指定语言,如:<scriptlanguage="JavaScript">。在没有指定的情况下,IE和NetscapeNavigator默认为JavaScript(在IE中还可以用VBScript,必须指定language="VBScript")。 还有一个标记是<noscript>,在不支持JavaScript时,浏览器显示<noscript>和</noscript>中的内容。通常是这样使用的: <noscript>您的浏览器不支持JavaScript,由于本页使用了JavaScript,请您使用NetscapeNavigator。您可以在:<ahref="http://www.netscape.com">网景公司</a>下载。</noscirpt> hello.html中使用了document对象,这个对象是JavaScript中最重要的对象之一。document对象的一个方法叫write,是用于在浏览器中输出字符串的。整个JavaScript系统是一个对象的集合,灵活使用JavaScript就是灵活使用这个对象系统。对象系统基本上是一个树形结构,在第二章《JavaScript对象》中本教材会对JavaScript的对象系统作详细讨论。 4、定义函数和调用函数 函数是JavaScript的基本组成部分,由一系列描述语句组成,用以完成特定的任务。函数定义由以下四部分组成: (1)一个function关键字; 函数的调用是指在某处完成函数的功能,而函数定义则是指定函数在被调用时需要完成怎样的功能。 通常在文档的HEAD部分定义函数,在BODY部分调用函数。下面,就用一个例子说明: <html> 在IE4.0中打开这个文档,会出现下面的对话框: 函数Showhello有一个参数st,函数的作用是显示一个对话框,用了JavaScript的alert方法。在BODY部分通过调用Showhello函数显示对话框。 5、write方法 在JavaScript中document对象的write方法是很常用的,本章的第一个例子中就用到了。其实,write方法不但可以输出字符串,还可以输出任何HTML的元素。见下面的例子: <html> 在IE4.0中读者可以看到用write方法生成的各种元素。这里要说明的是,用write方法无法设置title的属性。 除了write方法之外,document还有一个writeln方法。两者的区别在于writeln方法在输出了字符串后还输出一个回车。由于HTML是对回车不敏感的,所以在大多数情况下write和writeln是一样的。 6、事件处理程序 JavaScript在HTML中的重要用途之一是编写事件处理程序。在一个主页中,有编辑框、复选框和按钮等元素,这些元素都有一些由用户操作产生的事件,如按钮被按下会激发OnClick事件。这些事件发生时,可以激发相应的用JavaScript编写的事件处理程序。下表是对事件的总结: 表1.1
1、对象的分级体系 每个HTML文档被装入浏览器中时浏览器就创建了一系列分级的对象体系,此体系反映了HTML文档的属性。分级体系如图2.1:
在每一个HTML页中含有下面的对象: navigator:含有正在使用的Navigator的名称、版本属性,客户端支持的MIME类型属性,客户端安装的"插件"类型。 window:最高等级的对象,拥有整个窗口的属性;在每一个Frame中的"子窗口"也有相应的window对象。 document:包含基于文档内容的属性,如title、 background color、 links和form等。 location:含有基于当前的URL的属性。 history:包含客户机先前已经请求过的URL。 在引用属性时,必须指定属性的所有祖先。例如,引用表单MyForm中的Text1的Value,必须写成: document.MyForm.Text1.Value 2、关键的浏览器对象 在HTML页中,最有用的JavaScript对象有:window、Frame、document、Form、location、history和navigator对象。在这里分别讲一讲这些对象。 window和Frame对象 window对象是HTML文档的所有其他对象的祖先对象,是浏览器的窗口和窗口属性的集合。当在一个WEB页中用FRAME和FRAMESET定义了多个桢后,每个桢对应一个Frame对象。Frame对象和window对象的属性和方法是一样的,仅仅是在浏览器中对应的区域不同。 window对象的方法有: open和close:开、关一个浏览器窗口;可以定义大小、内容、按钮条、定位区域和其他一些属性。 alert:显示带警告信息的对话框。 confirm:显示带OK和Cancel按钮的确认对话框。 prompt:显示带一个输入文本框的提示对话框。 blur和focus:在一个窗口中设置和移去输入焦点。 scroll:使窗口卷动到指定的坐标。 setTimeout:在指定的时间后对一表达式求值。 此外,window中的location和status属性能完成一些有用的任务: 通过对location属性赋值使浏览器转到指定的URL,如同用户键入URL地址一样,如:location="http://www.chinabyte.com"将使浏览器转到Chinabyte的主页。 通过对status属性赋值可以在浏览器底部的状态条中显示指定的信息。 document对象 对document对象的write和writeln方法相信读者通过以前的介绍已经非常熟悉了。此外,document对象反映HTML文档的许多属性,其中包括:背景(bgColor)、文本(fgColor)、链接颜色(linkColor、alinkColor和vlinkColor)等;还有lastModified(文档的最近修改日期)、referrer(先前访问的URL)、URL(当前文档的URL)等。 cookie属性使用户可以读出和设置cookie的值。在此后的文章中我会单独讲解cookie的知识。 document对象是所有Anchor、Applet、Area、Form、Image、Link、Plugin等对象的“祖先”对象。 Form对象 当在HTML文档中使用<form>和</form>定义了表单时,Form对象就建立了。由于在一个主页中可以有多个表单,所以各个表单对象用数组或 | |||||||||||||||||||||||||||||||||||||||||||||