asp系列(五)使用变量和常量
声明和命名变量
声明变量的命名应该遵循的规则和脚本语言指令。即使你不需要声明一个变量在使用一个变量,你也应该养成良好的编程时声明变量的习惯,因为它有助于防止错误。声明一个变量意味着告诉脚本引擎有一个变量的一个特定名称,变量可以在脚本中引用。
VBscript
VBscript不需要声明变量,但它是一个很好的习惯,在使用脚本声明所有变量,可以声明变量使用暗淡,公共,或私人的语句。例如:
你可以在使用VBscript Option Explicit语句。ASP文件需要显式声明变量。选项必须出现在任何ASP指令和HTML文本或脚本命令的任何一个。这句话只影响用VBscript的ASP命令,不影响Jscript命令。
方法
微软Jscript需要宣布只有当变量是一个局部变量,但它是一个很好的习惯,在使用脚本声明所有变量,声明一个变量,使用var语句。例如:
变量范围
变量的范围是生命周期,来决定哪些脚本命令可以访问变量,在过程中声明的变量具有局部范围。每次过程的执行,创建变量并消失了。在过程中的任何命令无法访问它。声明的变量的过程中有一个全球范围,和他们的价值观可以访问并对ASP页面脚本命令修改。
当一个变量、局部变量和全局变量可以有相同的名字。改变一个人的价值观不改变的价值。如果没有变量的声明,你可能不小心改变全局变量的值。例如,下面的脚本命令返回一个值1,虽然两命名为Y变量:
昏暗的Y
Y = 1
电话setlocalvariable
响应。
子setlocalvariable
昏暗的Y
Y = 2
端子
%>
由于变量没有显式声明,下面的脚本命令将返回2。当过程调用将y设置为2时,脚本引擎认为该过程是修改全局变量的:
Y = 1
电话setlocalvariable
响应。
子setlocalvariable
Y = 2
端子
%>
很多问题都可以通过显式声明所有变量的编程习惯避免的。特别是当你的文件到ASP网页与#包含语句,更重要的是,在一个独立的文件中包含的脚本被视为包含整个文件的一部分。不同的名字被用来命名主脚本用于包含脚本的变量,这是很容易忘记除非变量声明。
给变量提供会话或应用范围
一个全局变量只在一个ASP页面中可用。使其可在一个单一的ASP页面,会话或应用范围必须给一个变量。会话范围变量可用于所有的网页在ASP的应用,用户的请求。这也与应用程序域变量的情况下,对单用户、会话变量是存储信息的最好的方法,例如,偏好,用户名或用户的身份,一个特殊的应用程序的所有用户,应用范围例如存储信息,最好的方法,应用程序特定的问候或应用程序的初始值。
ASP提供了两个构建对象,让您存储变量:会话对象和应用程序对象。
还可以使用会话或应用程序范围创建对象实例。
会话作用域
变量被赋给会话范围,该会话范围存储在会话对象中,方法是将一个值赋给对象的命名项,例如,以下命令将两个新变量存储到会话对象中。
会议(FirstName)=杰夫
会议(姓)=史密斯
%>
若要从会话对象检索信息,可以使用输出指令(
欢迎光临
用户首选项可以存储在会话对象中,然后可以访问这些第一个选项来确定返回给用户的页面。例如,可以允许用户在应用程序的第一页上指定纯文本内容,然后将该选项应用于用户在应用程序中访问的所有后续页面。
这是页面的文本版本。
这是页面的多媒体版本。
应用范围
要将应用程序范围分配给变量,请将变量存储在应用程序对象中。方法是将一个值赋给对象的命名项,例如,下面的命令将应用程序特定的问候语存储到应用程序对象中:
若要从应用程序对象检索信息,可以使用ASP输出指令(
使用常数
常量是用来代替数字或字符串的名称。那些有ASP的基本知识,如ActiveX数据对象(ADO),定义,您可以使用脚本的常数。在类型库中声明常数,和类型库文件是一个包含信息的对象和类型的ActiveX支持。一旦你宣布在Global.asa文件类型库,您可以在应用程序的任何页面使用定义常量。
你可以使用标签来声明在global.asa.for示例应用程序类型库,申报ADO类型库,您可以使用以下语句:
在这种方式中,你可以使用应用为Global.asa文件相同的ADO。在下面的例子中,并adlockoptimistic adOpenKeyset是ADO常数:
创建和打开记录集对象
集rscustomerlist = server.createobject(ADODB。记录集)
rscustomerlist.activeconnection = objdbconnection
rscustomerlist.cursortype = adOpenKeyset
rscustomerlist.locktype = adlockoptimistic
在以前的ASP版本,有些文件提供了一个常量定义文件中,每个ASP文件,必须包含文件,#使用包括指令包含一个常数的定义仍然是支持的,但是使用类型库通常是更方便,可以使脚本更容易升级的。一个ASP版本,常量定义文件可能不再提供。
你可以自己定义常数。在VBscript,使用Const语句,并在Jscript,使用var语句。如果你使用多个ASP页面的一个常数,你可以把一个恒定在一个单独的文件并将它包括在每一个ASP文件使用常数。