www.baike369.com
百科369 > ASP教程 > ASP变量和常量

ASP变量和常量


ASP变量和常量

变量是内存中已经命名的存储位置,给变量赋予的信息称为变量的值。


ASP声明变量

1. 声明VBScript变量

在VBScript中可以用Dim语句、Public语句或Private语句声明变量。例如:

<%
Dim MyName
%>

也可以在脚本命令之前使用Option Explicit语句,然后再声明变量。例如:

<%
option explicit
Dim MyName
%>

2. 声明JavaScript变量

可以使用var语句声明变量。例如:

<%
var MyName;
%>

ASP声明数组

当我们创建一个可包含一系列值的变量时,就可以声明数组变量了。例如:

Dim A(9)

ASP变量作用域

变量的作用域就是变量的生命期,变量具有局部作用域和全局作用域两种情况:

  • 在过程内部声明的变量具有局部作用域。每执行一次过程,变量就被创建然后消亡。并且过程外部的任何命令都不能访问这些专程内部的变量。
  • 在过程外部声明的变量具有全局作用域,其值能被ASP页上的任何脚本命令访问或修改,同样,也能被过程内部的脚本命令访问或修改。

声明变量时,局部变量和全局变量可以具有相同的名称。但是,改变其中一个值并不会改变另一个值。如果没有声明变量,就可能会改变一个全局变量的值。例如:

<%
Dim a
a = 1
Sub SetLocalVariable
  Dim a
  a = 2
  Response.Write("局部变量:"&a&"<br />")
End Sub

Call SetLocalVariable
Response.Write("全局变量:"&a)
 %>

在浏览器中查看ASP变量作用域的显示效果。如下图所示:

在浏览器中查看ASP变量作用域的显示效果

上面的脚本命令,虽然有两个名为a的变量,但是全局变量会返回值1:

下面的例子变量没有显式声明:

<%
a = 1
Sub SetLocalVariable
  a = 2
  Response.Write("局部变量:"&a&"<br />")
End Sub
Call SetLocalVariable
Response.Write("全局变量:"&a)
%>

在浏览器中查看ASP变量作用域二的显示效果。如下图所示:

在浏览器中查看ASP变量作用域二的显示效果

上面的脚本命令返回2。当过程调用将a设置为2时,脚本引擎认为该过程是要修改全局变量。

养成显式声明所有变量的编程习惯可以避免许多问题。尤其是当我们用#include语句将文件包含进ASP主页时,就显得尤为重要。


Copyright© 2011-2016 www.baike369.com All Rights Reserved