<marquee width=358>欢迎来到月影社区,希望这里可以成为您美丽的梦幻花园,如果你觉得这里好请分享给您的朋友!- wf66.com</marquee> 将月影社区设置为您的首页将月影社区地址加入到您的收藏栏
月影社区时尚音乐音乐查询IP手机许愿之瓶最新更新文件加密访客留言爱音乐
欢迎您,首页 >> 信息中心 >> 使用变量和常量

请输入您关键字:


使用变量和常量

推荐查看本文HTML版本


“变量”是计算机内存中已命名的存储位置,它包含数据,如数值或文本字符串。变量中包含的数据称为变量的“值”。变量使用有助于理解脚本功能的名称来存储、检索和管理值。

声明和命名变量
遵循脚本语言的下列规则和原则来命名和声明变量。即使不要求在使用之前声明变量,但先声明变量的良好开发习惯将有助于减少错误。“声明”变量也就是告诉脚本引擎特定名称的变量已经存在,可以在脚本中使用该变量的参照。

VBScript
VBScript 不要求变量声明,但在使用之前先声明所有变量是一种良好的脚本编程习惯。要在 VBScript 中声明变量,可以使用“Dim”、“Public”或“Private”语句。例如:
[月影社区 http://wf66.com/]
<% Dim UserName %>
可以在 .asp 文件中使用 VBScript“Option Explicit”语句,以便要求必须使用“Dim”、“Private”、“Public”和“ReDim”语句显式声明变量。“Option Explicit”语句必须位于任何 ASP 命令之后、任何 HTML 文本或脚本命令之前。此语句只影响使用 VBScript 编写的 ASP 命令;并不影响 JScript 命令。

<% Option Explicit %>
<HTML>
<%
Dim strUserName
Public lngAccountNumber
%>
.
.
.

有关这些命令的详细信息,请参阅位于 Microsoft Windows 脚本技术 Web 站点 http://msdn.microsoft.com/scripting/ 上的“VBScript 语言参考”。

JScript
虽然 JScript 通常不要求变量声明,但在使用之前先声明所有变量是一个良好的脚本编程习惯。要声明变量,可使用“var”语句。例如:

<% var UserName %>
通常,只有在需要区分函数变量和函数外的“全局”变量时,才有必要在 JScript 中声明变量。在这种情况下,如果不区分这两个变量,JScript 将认为您专门引用的是全局变量。关于“var”语句的详细信息,请参阅“JScript 语言参考”。从位于 http://msdn.microsoft.com/scripting/ 的 Microsoft Windows 脚本技术 Web 站点上可以找到这些参考。

变量范围
变量“范围”或生存期确定哪些脚本命令可以访问变量。在过程中声明的变量具有“局部范围”;每次执行过程时创建和消除该变量。无法从过程外部访问该变量。在过程外部声明的变量具有“全局范围”;ASP 页中的任何脚本命令都可以访问和修改该变量值。

注意 将变量范围限制到过程中有利于提高性能。

如果声明变量,则局部变量和全局变量可以同名。修改其中一个变量的值,不会影响另一个变量。不过,如果不声明变量,则有可能在无意中修改全局变量的值。例如,在下例中虽然有两个变量 Y,但脚本命令返回值 1:

<%
Option Explicit
Dim Y

Y = 1

SetLocalVariable

Response.Write Y

Sub SetLocalVariable
Dim Y
Y = 2
End Sub
%>
与此相反,在下例中因为没有显式声明变量,所以脚本命令返回值 2。当过程调用设置 Y 为 2 时,脚本引擎认为过程要修改全局变量:

<%
Option Explicit
Dim Y = 1

SetLocalVariable

Response.Write Y

Sub SetLocalVariable
Y = 2
End Sub
%>
要避免此问题,有必要养成显式声明所有变量的习惯。这一点当使用“#include”语句在 .asp 文件中包含其他文件时尤其重要。被包含的脚本虽然在单独的文件中,但却当作是包含文件的一部分。除非声明变量,否则很容易忘记必须在主脚本和被包含脚本中使用不同的变量名。

提供变量的 Session 或 Application 作用域
全局变量只能在单个 .asp 文件内访问。要从单独页面外部访问变量,需提供变量的 Session 或 Application 作用域。Session 作用域变量对单个用户请求的 ASP 应用程序的所有页都可用。Application 作用域变量对任何用户请求的 ASP 应用程序的所有页都可用。Session 变量适用于存储单个用户的信息,如首选项、用户名或标识。应用程序变量适用于存储特定应用程序所有用户的信息,如应用程序需要的特定欢迎词或常规值。

ASP 提供了两种内建的对象,您可以在其中存储变量:“Session”对象和“Application”对象。

也可以用 Session 或 Application 作用域来创建对象实例。详细信息,请参阅设置对象作用域。 [月影读书频道 http://wf66.com/]

Session 作用域
要给变量提供 Session 作用域,可通过给对象中已命名条目赋值来将变量存储在 Session 对象中。例如,下面的命令将在“Session”对象中存储两个新变量:

<%
Session("FirstName") = "Jeff"
Session("LastName") = "Smith"
%>
要从“Session”对象中检索信息,可使用输出命令 (<%=) 或 Response.Write访问已命名的条目。下面的示例使用输出命令显示 Session("FirstName") 的当前值:

欢迎<%= Session("FirstName") %>
可以在 Session 对象中存储用户首选项,然后通过访问这些首选项来确定哪些页返回给用户。例如,可以允许用户在应用程序首页中指定只查看纯文本内容,然后将此项选择应用于用户在该应用程序中访问的所有后续页。

<%
strScreenResolution = Session("ScreenResolution")
If strScreenResolution = "Low" Then
%>
这是文字页面。
<% Else %>
这是多媒体页面。
<% End If %>
注意 如果在脚本中要多次参考 session 作用域变量,可以考虑如上例所示,将该变量赋给一个局部变量以便提高性能。

Application 作用域
要提供变量 Application 作用域,可通过给对象中已命名条目赋值来将变量存储在 Application 对象中。例如,下面的命令在“应用程序”对象中存储应用程序特定的欢迎词:

<% Application("Greeting") = "销售部欢迎您!" %>
要从“Application”对象中检索信息,可使用 ASP 输出命令 (<%=) 或 Response.Write 来从应用程序中的任何后续页访问已命名的条目。下面的命令使用输出命令来显示 Application("Greeting") 的值:

<%= Application("Greeting") %>
同样地,如果脚本重复参考 Application 作用域变量,应将该变量赋给局部变量以便提高性能。

使用常量
“常量”是用来取代数值或字符串的名称。随 ASP 提供的部分基本组件,如 ActiveX 数据对象 (ADO),定义了可在脚本中使用的常量。组件可以在“组件类型库”中声明常量,组件类型库是一个包含 COM 组件支持的对象和类型的信息的文件。一旦在 .asp 文件中声明了类型库,就可以在同一 .asp 文件的所有脚本中使用已定义的常量。类似地,可以在 Global.asa 文件中声明类型库,以便在应用程序的所有 .asp 文件中使用已定义的常量。

要声明类型库,可以在 .asp 文件或 Global.asa 文件中使用 <METADATA> 标签。例如,要声明 ADO 类型库,可使用下面的语句:

<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
或者,如果不参考类型库的通用唯一标识符 (UUID),也可通过文件路径参考类型库:

<!-- METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->
然后即可在 .asp 文件中使用 ADO 常量,该文件声明了类型库或者驻留在包含 Global.asa 文件(声明了 ADO 类型库)的应用程序中。在下面的例子中,adOpenKeyset 和 adLockOptimistic 是 ADO 常量:

<%
'创建和打开 Recordset 对象。
Set rstCustomerList = Server.CreateObject("ADODB.Recordset")

rstCustomerList.ActiveConnection = cnnPubs
rstCustomerList.CursorType = adOpenKeyset
rstCustomerList.LockType = adLockOptimistic
%>
下表列出了常用的类型库和 UUID:

类型库 UUID
Microsoft ActiveX Data Objects 2.5 Library {00000205-0000-0010-8000-00AA006D2EA4}
Microsoft CDO 1.2 Library for Windows 2000 Server {0E064ADD-9D99-11D0-ABE5-00AA0064D470}
MSWC Advertisement Rotator Object Library {090ACFA1-1580-11D1-8AC0-00C0F00910F9}
MSWC IIS Log Object Library {B758F2F9-A3D6-11D1-8B9C-080009DCC2FA}

关于 <METADATA> 标签的参考信息,请参阅 TypeLibrary 声明。
[月影社区 http://wf66.com/]
在以前版本的 ASP 中,部分组件提供在文件中常量定义,这些文件必须包含在使用这些常量的所有 ASP 文件中。虽然仍可以通过 #include 命令包含常量定义,但使用类型库更方便,也更容易升级脚本。在未来的 ASP 版本中,组件可能不提供常量定义文件。

注意 使用 <METADATA> 标签(而不是“#include”命令)可以提高 Web 应用程序的性能。

可以定义自己的常量。在 VBScript 中,使用“Const”语句。在 JScript 中,可以使用“var”语句将常量值赋给变量。如果要在多个 .asp 文件中使用常量,则需要将定义放在单独文件中,并在所有使用该常量的 .asp 文件中包含这些定义。

使用变量和常量 2006-8-28
转到本主题第:[ 1 ]
相关评论

暂无评论

总计0页 [ ]上一页 下一页
发表评论(揪错)
呢称: * 您尚未登陆,请登录
来自: *
内容:
 

(为防止非法信息,您的言论提交后需要审核才能正常显示)

文学
精品文萃 情感天地 言情小说
网络小说 玄幻小说 悬疑恐怖
武侠小说 古典品谈 外国名著
儿童文学 会员原创 学习园地
杂谈其它
娱乐
爆笑网文 星座占卜 影音动漫
娱乐新闻 影视剧情
诗词
青竹诗歌 个人诗集 宋词雅赏
全唐诗录
新闻
国际新闻 国内新闻 科技新闻
体育新闻
图片
图文专区 艺术长廊 桌面壁纸
精品素材 像素图片
漫画
单幅漫画 爆笑四格 连环漫画
电脑
电脑入门 图形图像 编程开发
游戏
我爱Q宠 最新攻略 最新秘籍
游戏新闻 技巧心得
经济
帕格节电 财经资讯 股市证券
生活
百科知识 外语学院 潮流时尚
健康医疗 宠物花卉 汽车地带
行走天下
美食
面食甜点 家常菜品 药膳食疗
美食天下 烹饪技巧 松辽风味
燕京风味 巴蜀风味 滇黔风味
赣江风味 徽皖风味 闽台风味
齐鲁风味 中州风味 岭南风味
荆楚风味 三晋风味 淞沪风味
苏扬风味 潇湘风味 钱塘风味
民族风味 素斋仿荤
营销
管理杂谈 谈经论道 培训激励
经营战略 职场生涯 公关交际
关于我们版权声明本站导航友情连结作品演示 TOP↑
本论坛言论纯属发表者个人意见,与£月影社区£立场无关。 皖ICP备16024038号-1
禁止发布任何色情/政治/反动相关信息让我们共同来营造一个属于我们的梦幻家园
Copyright ©2001-2006 MoonShadow. All rights reserved.  Version 4.0  Licence 2006.4.2
建站天数:7216天 本站基于ASP+JS构建,完全自主开发,版权归属月影社区 管理员QQ:23165062 Time:46ms