在

Active Server Pages中使用JScript

在本节中，你将学习怎样建立可执行用JScript建立的脚本的Active Server Pages，你将在本书的第四部分“用对象和组件建立Active Server Pages”中学习更多关于Active　Server Pages的知识。但是现在你只需将Active Server Pages看作一个具有扩展名为 .asp而不是 .cfm的HTML文件。

要使用本章中的例子，你需要用扩展名 .asp而不是 .cfm来存贮你的所有文件，如果你不这样做，脚本就不能被解释。当Active Server Pages被浏览器读入时，脚本中的文本就会显示出来，这可能就不是你所期望的了。

要使用本章中的例子，你还必须将文件存贮在你的网络服务器的目录下，例如，你可将文件存贮在wwwroot目录下。要执行脚本，网页必须位于能被你的网络服务器进入的目录下。

当你读入一个Active　Server Pages时，你不能直接从硬盘上读入这个文件，例如，如果你将一个Active　Server Pages存为C:\InetPub\wwwroot\mypage.asp,你不能通过在地址框中输入文件路径来将这个文件读入浏览器。你应当使用网络服务器名来获得这个文件。例如，如果你的服务器名为MyServer而文件被存贮在服务器的根目录下，就可以在浏览器的地址柜中输入

http://MyServer/mypage.asp。再一次说明，如果你不这样做，Active　Server Pages中的脚本就不会被解释。

你必须设置你的Active　Server Pages所在的目录允许脚本的执行，只须当你进行这样的设置后，网络服务器才会执行一个脚本。详细信息可见第二章“安装及使用Internet Information Server”。

注意

当你改变了Active　Server Pages后你可能会发现变化没有立即在读入浏览器的网页上反映出来，这可能是由于网络服务器使用内存缓冲来提高性能而引起的。当建立一个网点时，你可以取消这个特性，详细信息可见第二章。

在

Active Server Pages中集成JScript

JScript 不是ASP的缺省脚本语言，缺省情况下，当ASP中包含一个脚本时，服务器会将它解释为VBScript编写的脚本，当你在ASP 中使用JScript编写的脚本前，你应该通知服务器你用的语言种类。

如果你计划将JScript 作为你主选的脚本语言，你可以用Internet Service Manager（见第13章）来设置JScript 为你网络上所有ASP的缺省语言。除此之外，你也可以为某一特定的页指定JScript 为缺省的脚本语言，要实现这一目的，你可将下述语句放置于一个ASP文件的第一行：

<％@ LANGUAGE=JScript %>

这一语句表明了本文件中所有的脚本都应当以JScript 来执行而不是VBScript。当使用这个语句时，要注意在@符号和关健字LANGUAGE之间要有一个空格。在一次申明，一定要将这个语句放置于你的ASP文件的首行。

注意

你可以在同一个A.S.P中混合使用JScript 和VBScript，详细信息可见第13章。

在ASP中包括了LANGUAGE语句后，你就可以使用两个特殊符号＜％和％＞来用JScript 创建脚本，例如，下面用JScript 创建的脚本会在一个ASP中自动执行．

<％@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% for (myvar=0; myvar<500; myvar++) %>

<B> Hello World! </B>

</BODY>

</HTML>

这个脚本在一行上显示500个Hello World！（见图9.1），注意此例中符号＜％和％＞是如何使用的，它们标明了JScript脚本的开始和结束。

图9.1 使用JScript建立的Active Server Pages

注意

与本书中描述的其他语言不同，JScript是区分大小写的，例如，使用下面的语句将会导致错误。

<% For (myvar=0; myvar<500; myvar++) %>

这个语句的错误就在于关键字（for）需要小写，这样JScript才能识别它。

＜％和％＞这两个字符的功能很象HTML中的＜和＞字符，＜和＞字符是用来指定HTML标识符的，而＜％和％＞是用来指明脚本的。网络服务器一旦搜索到这两个字符，就将它们之间的文本解释为脚本。

例如，文本＜% for（myvar=0; myvar<500; myvar++）%>是一个JScript脚本，它建立了一个运行500次的循环。紧接着这个语句的Hello World！文本就显示了500次。

还要注意在此例中JScript脚本是如何与HTML识别符结合的。你可以在一个ASP中自由地混用脚本和HTML。文本<Ｂ>Hello World！</Ｂ>并不是JScript脚本的一部分。<Ｂ>标识符是HTML的一部分，而不是JScript，但是文本<B>Hello World! </B>被解释和显示了500次。因为它紧跟在一个JScript脚本的后面。

当在ASP中使用JScript脚本时，你应当注意一个附加的表达式，你可以使用＜％＝和％＞来打印一个变量、方法或是函数的值，来看下面这个简单的ASP：

<％@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% myvar=“Hello World!”%>

<%=myvar%>

</BODY>

</HTML>

这个例子只打印一次Hello World！第一个脚本设置名为myvar的变量的值为“Hello World！”表达式＜％＝myvar％＞打印这个变量的值。符号对＜％和％＞用来指定一个脚本，而＜％＝和％＞用来指明一个变量、方法或函数的值。任何出现在＜％＝之后的表达式都在浏览器窗口中显示出来。

下面是一个如何使用符号对＜％＝和％＞来打印一个方法返回值的例子，这个ASP用黑体来打印文本Hello World！

<％@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% myvar=“Hello World!”%>

<%=myvar.bold()%>

</BODY>

</HTML>

方法bold() 以黑体返回变量myvar的值，此方法通过在文本周围加上HTML标识符<B>和</B>来实现这一点。文本<B>Hello World！</B>被输往浏览器。

你不能在＜％＝和％＞符号对中放置一个不返回值的JScript命令，这会产生一个错误。例如下面所示：

<%= for (myvar=0; myvar<500; myvar++) %>

不要将＜％和％＞符号对的功能与＜％＝和％＞搞混。前者是用来指定脚本的，而后者是用来显示一个变量、方法或函数的值的。