ASP基础入门第三篇(ASP脚本基础)

下面就先请大家跟我来学习一些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)。

(0)

相关推荐

  • 用asp脚本实现限制IP访问

    cookies跨不了域很麻烦,有了这个脚本就方便多了. <% ip=Request.ServerVariables("REMOTE_ADDR") set Fso=CreateObject("Scripting.FileSystemObject") Set Files=Fso.OpenTextFile(server.mappath("./ip.txt"),1,false) data=files.readall files.close set 

  • ASP网页模板的应用: 让程序和界面分离,让ASP脚本更清晰,更换界面更容易

    为了避免ASP程序和HTML代码混写造成维护困难的情况,本文介绍了一种方法,利用模板来分离程序和页面,使程序设计更加轻松. 在使用ASP制作一个站点的时候,常常会出现一个ASP文件中,程序代码和HTML代码混合的情况.这样子做有许多缺点:     1. 且不说编程时就要对页面布局进行设计和编排,造成代码混乱难懂,不规范:     2. 当需要改变页面外观时,你不仅要改变HTML部份,也需要改变ASP代码,不易维护. 那么,要如何才能避免这些麻烦呢?     答案就是使用模板文件,将ASP代码和H

  • 隐藏修改文件时间和文件属性的ASP脚本

    复制代码 代码如下: <% '隐藏并修改文件的最后修改时间的aspshell '原理:通过FSO可以修改文件的属性,比如设置为只读,隐藏,系统等等:FSO中的attributes属性修改文件属性,1只读,2隐藏,4系统文件 ' 通过shell.application可以给文件重新设置一个最后修改时间 '2009/02/24 write by skyfire response.write "<form method=post>" response.write "

  • ASP基础入门第五篇(ASP脚本循环语句)

    继上一篇我们学习了脚本语言 VBScript 的函数和条件语句后,今天我们继续来看看VBScript 中的循环语句. 循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为"假"之前重复执行语句,一类在条件变为"真"之前重复执行语句,另一类按照指定的次数重复执行语句.在VBScript 中可使用下列循环语句: Do...Loop: 当(或直到)条件为"真"时循环. While...Wend: 当条件为"真"时循环.

  • 在不刷新页面的情况下调用远程asp脚本

    1.请在sql server 中建一数据库 name:house 在house中运行下列脚本 if exists (select * from sysobjects where id = object_id(N´[dbo].[City]´) and OBJECTPROPERTY(id, N´IsUserTable´) = 1) drop table [dbo].[City] GO if exists (select * from sysobjects where id = object_id(N

  • ASP脚本的执行顺序详细说明

    首先我们先来了解一下ASP页面执行的流程 1.IIS找到ASP文件,提交给ASP引擎(一般是ASP.DLL)处理. 2.引擎打开这个ASP文件,找出<%和%>之间的内容,当然还有<script runAt="server">和对应的</script>之间的内容,这些内容称为脚本块.只有脚本块里的内容被引擎解析,其他内容不管,作为没有意义的字符插在脚本块之间.有必要说明一下的是,其实被解析的内容还不止这些,<!--#include ***--&g

  • ASP基础入门第三篇(ASP脚本基础)

    下面就先请大家跟我来学习一些ASP 中应用脚本语言(以VBScript 为主)的基础知识. 在开始学习脚本语言之前,你应该理解一些简单的概念 -- 变量.进程.所谓变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据,它使用户便于理解脚本操作的名称,为用户提供了一种存储.检索和操作数据的途径.程序是由一个或多个进程组成的,在 VBScript 中,进程就是"指令块",通常意义上的进程,如 Sub,只是为了简单的数据处理. 在 VBScript 中,严格的来讲变量是不用声明的

  • ASP基础入门第十篇(ASP内建对象Server)

    Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的.有了 Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数. 一.语法 Server.property|method 二.属性 ScriptTimeout 超时值,在脚本运行超过这一时间之后即作超时处理.如下代码指定服务器处理脚本在 100 秒后超时. < % Server.ScriptTim

  • ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

    在上一篇小编向大家简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解.   函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值.我们可以这样理解,过程象一个完整的句子,而函数则象一个单词.举个例子,当你想获取某个数的平方根,你只要将该数传给 VBScript 的 Sqr() 函

  • ASP基础入门第八篇(ASP内建对象Application和Session)

    在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applicat

  • ASP基础入门第七篇(ASP内建对象Response)

    下面,我们开始学习 ASP 的另一个内建对象 Response. 与 Request 是获取客户端 HTTP 信息相反 ,Response 对象是用来控制发送给用户的信息,包括直接发送信息给浏览器.重定向浏览器到另一个 URL 或设置 cookie 的值. 语法:Response.collection|property|method 一.属性 1.Buffer Buffer 属性指示是否缓冲页输出.当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务

  • ASP基础入门第六篇(ASP内建对象Request)

    在正式开始学习 ASP 的内建对象和组件之前,先让我们来认识一些基本概念,这将对各位今后的学习大有帮助.请看下表 : Active Server 随 Windows NT 交付的服务器方技术的集合.这些 技术为组件应用程序管理.数据库访问.事务和消息 提供一致的服务器方组件.脚本模型和一套集成的系 统服务. Active Server Pages (ASP) 在服务器上运行 ActiveX 脚本和 ActiveX 组件的服 务器方脚本环境.开发人员可以将脚本和组件结合在 一起创建基于 Web 的

  • 第三篇Bootstrap网格基础

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 网格系统类似一个表格,有行和列,它必须放置在一个类型设置为container的容器里,可以是div,内容放置在列内,网页设计中的网格用于布局内容,让网站易于浏览,下面是一个用bootstrap网格布局的例子. <div> <div>col2</div> <div>col10</div> </div>

  • GO语言基础入门第一个go程序解读

    目录 1. 编写HelloWorld 2. 执行go程序 3. 代码解读 4.总结 1. 编写HelloWorld //filename: hello.go package main import "fmt" func main(){ fmt.Println("hello world!") } 2. 执行go程序 执行go程序由几种方式 方式一:使用go run命令 step1:打开终端: step2:进入hello.go所在的目录 step3:输入go run h

  • XSLT轻松入门第三章:XSLT的元素语法

    通过前面两章的介绍,我们已经对XSLT的基本概念和它的转换过程有了一些了解.下面我们一起来学习XSLT的具体语法.说到语法总是比较枯燥的,您可以大体上浏览一遍,等您真正需要使用XSLT的时候,再仔细研究它们. 3.XSLT的元素语法 3.1 xsl:template和xsl:apply-templates 3.2 xsl:value-of 3.3 xsl:for-each 3.4 xsl:if 3.5 Xxsl:choose, when, otherwise 3.6 xsl:sort 3.1 x

随机推荐