您当时的方位:主页 > 言语编程 > ASP

ASP教程4:ASP脚本根底

2014-08-18  www.codeforacause.net
经过前两篇的学习,信任各位现已对 ASP 的动态网站规划有了一个根本的概念和全体的形象。从本篇开端作者将从脚本言语的运用着手,由浅入深地带领咱们探究 ASP 动态网站规划的真实奥妙。



  本文第二篇刊登后,许多朋友给我发了“妹儿”,期望能赶快看到本文的第三、第四、甚至第……篇,甚至有位朋友焦急地要我将 ASP 篇的全文发给他。看到有如此之多情投意合的朋友,令我精力大振。尽管 ASP 早在两年前就现已推出了,但直到本年它才以其灵敏快捷的开发进程、杰出的 WEB 数据库连接功用受到了国人的注重,可是因为目前国内尚缺少关于 ASP 开发 WEB 运用程序的翔实教材,因而使得国内广阔 WEB 开发者们仍处在闭门啃 E 文的阶段,也包括作者自己。也正因为如此,作者才蒙发了写文章的想法,在得到 Chinabyte 网络学院翁斌先生的大力支持后,各位才得以见到此文。



  作者深切期望能经过此文为广阔 WEB 开发者和爱好者供给便当,使咱们共同来参与 ASP 的学习和沟通,为了保全不同层次读者的需求作者仍是决议从最根本的脚本言语的编制着手,随后再一步一步地解说 ASP 内建目标、ActiveX 组件以及用 ASP 开发 WEB 运用程序的实例,信任经过一段时刻继续的学习,不出几个月各位都能够称心如意地开发自己的动态网站。下面就先请咱们跟我来学习一些 ASP 中运用脚本言语(以 VBScript 为主)的根底常识。



  在开端学习脚本言语之前,你应该了解一些简略的概念 -- 变量、进程。所谓变量是核算机内存中已命名的存储方位,其间包括了数字或字符串等数据,它运用户便于了解脚本操作的称号,为用户供给了一种存储、检索和操作数据的途径。程序是由一个或多个进程组成的,在 VBScript 中,进程便是“指令块”,一般意义上的进程,如 Sub,仅仅为了简略的数据处理。
  在 VBScript 中,严厉的来讲变量是不必声明的,

  如:< % Mystring="This is my string" % >

  可是,即便在运用变量前不需要去声明变量,也应养成在编程时声明变量的杰出习惯,因为这样有助于避免过错发作。声明一个变量意味着告知脚本引擎,有一个特定称号的变量,这样就能够在脚本中引证该变量。在 VBScript 中声明一个变量能够运用“Dim”句子,如下:
   < script language="VBScript" >
   < !--
   Option Explicit ' 要求在脚本中声明一切的变量
   Dim Mystring
   Mystring="This is my string"
   -- >
   < /script>

  变量的效果域即生命期,决议哪些脚本指令可拜访变量。在进程内部声明的变量具有部分效果域。每履行一次进程,变量就被创立然后消亡。而进程外部的任何指令都不能拜访它。在进程外部声明的变量具有大局效果域,其值能被 ASP 页上的任何脚本指令拜访和修正。声明变量时,部分变量和大局变量能够有相同的称号。而改动其间一个的值并不会改动另一个的值。假如没有声明变量,则可能不当心会改动一个大局变量的值。例如,以下脚本指令回来值 1,尽管有两个名为 Y 变量:
   < %
   Dim YY = 1Call SetLocalVariableResponse.Write Y
   Sub SetLocalVariable
   Dim Y
   Y = 2End Sub % >

  因为变量没有显式声明,以下的脚本指令将回来 2。当进程调用将 Y 设置为 2 时,脚本引擎以为该进程是要修正大局变量:
  
   Y = 1Call SetLocalVariableResponse.Write Y
   Sub SetLocalVariable
   Y = 2
   End Sub% >

  可是,大局变量仅在单个 ASP 页中可用,要使它在单个 ASP 页之外可用,就有必要为变量赋予会话或运用程序效果域。会话效果域变量对一个用户所恳求的 ASP 运用程序中的一切页都是可用的。运用程序效果域变量也如此。对单个用户来说,会话变量是存储信息的最佳途径,例如,用户首选项、用户名或用户的标识。关于一个特别运用程序的一切用户,运用程序效果域是存储信息的最佳途径,例如,运用程序特定的问候语或运用程序所需的初始值。ASP 供给两个内建目标来让您存储变量:Session 目标和 Application 目标,这将在往后的 ASP 内建目标中侧重评论。



  让咱们再来看看常量的界说,常量是用来替代一个数或字符串的称号,它在整个脚本中坚持不变。您能够运用 Const 句子在 VBScript 中创立用户自界说常数。运用 Const 句子能够创立称号具有必定意义的字符串型或数值型常数,并给它们赋原义值。例如:。
  如:< % Const mystring=" 这是一个常量 " % >

   < % Const myage=100 % >

  请注意字符串文字包括在两个引号 (" ") 之间。这是区别字符串型常数和数值型常数的最显着的办法。日期文字和时刻文字包括在两个井号 (#) 之间。例如:
   < % Const CutoffDate = #6-1-97# % >

  在了解了常量和变量之后,咱们来看看什么是进程。它是一组能履行指定使命且具有回来值的脚本指令。您能够界说自己的进程,然后在脚本中重复调用它们。您能够将进程界说放在调用进程的 .asp 文件中,也能够将通用进程放在一个同享的 .asp 文件中,然后用 SSI #include 指令将其包括进其他调用其进程的 .asp 文件中。您还可选择另一种办法,即把这些功用打包在 ActiveX 组件中。进程界说可出现在 < SCRIPT > 和 < /SCRIPT > 符号内部且有必要遵从声明脚本言语的规矩。假如进程所用的言语与主脚本言语不同,则要运用 < SCRIPT > 元素。主脚本言语中的进程用脚本分界符 (< % 和 % >) 分隔。用 HTML< SCRIPT > 符号时,有必要运用两个特点来确保服务器端能够处理脚本。运用 < SCRIPT > 符号的语法如下:



   < SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT >
   procedure definition
   < /SCRIPT >

  这儿的 RUNAT=SERVER 特点告诉 Web 服务器在服务器上处理脚本。若不设置该特点,脚本将由客户端浏览器处理。LANGUAGE 特点决议此脚本块所用的脚本言语。您能够指定任何一种具有脚本引擎的言语。请运用 VBSCRIPT 指定 VBScript;用 JSCRIPT 指定 JScript。若不设置 LANGUAGE 特点,将用主脚本言语解说此脚本块。



  在 VBScript 中,进程被分为两类:Sub 进程和 Function 进程。Sub 进程是包括在 Sub 和 End Sub 句子之间的一组 VBScript 句子,履行操作但不回来值。Sub 进程能够运用参数(由调用进程传递的常数、变量或表达式)。假如 Sub 进程无任何参数,则 Sub 句子有必要包括空括号 ()。



   Function 进程是包括在 Function 和 End Function 句子之间的一组 VBScript 句子。Function 进程与 Sub 进程相似,可是 Function 进程能够回来值。Function 进程能够运用参数(由调用进程传递的常数、变量或表达式)。假如 Function 进程无任何参数,则 Function 句子有必要包括空括号 ()。Function 进程经过函数名回来一个值,这个值是在进程的句子中赋给函数名的。Function 回来值的数据类型总是 Variant。鄙人面的示例中 Sub 进程运用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显现依据这些信息核算的成果。核算由运用 VBScript 创立的 Function 进程完结,Celsius 函数将华氏度换算为摄氏度。Sub 进程 ConvertTemp 调用此函数时,包括参数值的变量被传递给函数。换算成果回来到调用进程并显现在音讯框中。



   Sub ConvertTemp()
   temp = InputBox(" 请输入华氏温度。", 1)
   MsgBox " 温度为 " & Celsius(temp) & " 摄氏度。"
   End Sub
   Function Celsius(fDegrees)
   Celsius = (fDegrees - 32) * 5 / 9
   End Function



  给进程传递数据的途径是运用参数。参数被作为要传递给进程的数据的占位符。参数名能够是任何有用的变量名。运用 Sub 句子或 Function 句子创立进程时,进程名之后有必要紧跟括号。括号中包括一切参数,参数间用逗号分隔。例如,鄙人面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:
   Function Celsius(fDegrees)
   Celsius = (fDegrees - 32) * 5 / 9
   End Function

  要从进程获取数据,有必要运用 Function 进程。请记住,Function 进程能够回来值;Sub 进程不回来值。

  以上给咱们扼要介绍了 VBScript,因为篇幅的原因,作者不可能在此翔实介绍 VBScript 的一切常识。可是因为 ASP 自身并不是一种编程言语,因而在咱们编写 ASP 运用程序的进程中,有必要凭借脚本言语来完成许多特别的功用,所以灵敏熟练地把握脚本言语对一个运用 ASP 编写 WEB 运用程序的程序员来说是至关重要的。不管您是一个有丰厚编程经历的高手仍是一个初学者,只需您现在期望经过 ASP 编写 WEB 运用程序,作者竭力建议您把握至少一门脚本言语(如 VBScript)。在本篇的结尾作者将留一道课后作业给咱们,期望各位能经过自学有关书本并在实践中敏捷把握脚本言语。
  课后作业:

  作者正在用 ASP 制造一套根据 WEB 的 BBS 体系,作者期望能在其间增加一项特别功用,即当任何用户登陆该 BBS 后都能够查阅近七天来一切新发布的信息。因为 ASP 自身的内建目标和组件并没有供给此项功用,因而作者请咱们从 VBScript 着手,来规划这样一个功用。如有任何疑问请 EMAIL 作者,答案将鄙人一篇发布。敬请重视。