VBScript 变量

什么是变量?
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息。例如,可以创建一个名为 ClickCount 的变量来存储用户单击 Web 页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在 VBScript 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant。 
声明变量
声明变量的一种方式是使用 Dim 语句、Public 语句和 Private 语句在 Script 中显式声明变量。例如: 
 Dim DegreesFahrenheit
声明多个变量时,使用逗号分隔变量。例如: 
 Dim Top, Bottom, Left, Right

JavaScript中的ubound函数使用实例,javascriptubound

JavaScript中ubound函数方法是返回在 VBArray
的指定维中所使用的最大索引值。使用方法:

复制代码 代码如下:

safeArray.ubound(dimension)

其中safeArray是必选项。是一个 VBArray 对象。
dimension是可选项。要获知其索引上界的 VBArray 的维数。如果忽略,ubound
将该参数作为 1 进行处理。

如果 VBArray 为空,ubound 方法将返回 undefined。如果 dim 大于 VBArray
的维数或为负数,该方法将产生一个“下标越界”的错误。

示例

下面的示例包括三个部分。第一部分是用来创建一个 Visual Basic 安全数组的
VBScript 代码。第二部分是 JScript
代码,确定该安全数组的维数和每一维的上界。这两部分都放在 HTML 页中的
<HEAD> 部分。第三部分是位于 <BODY> 部分的 JScript
代码,用来运行其他两个部分。

复制代码 代码如下:

<HEAD>
澳门新葡萄京娱乐场 ,<SCRIPT LANGUAGE=”VBScript”>
<!–
Function CreateVBArray()
   Dim i, j, k
   Dim a(2, 2)
   k = 1
   For i = 0 To 2
      For j = 0 To 2
         a(j, i) = k
         k = k + 1
      Next
   Next
   CreateVBArray = a
End Function
–>
</SCRIPT>

<SCRIPT LANGUAGE=”JScript”>
<!–
function VBArrayTest(vba)
{
   var i, s;
   var a = new VBArray(vba);
   for (i = 1; i <= a.dimensions(); i++)
   {
      s = “The upper bound of dimension “;
      s += i + ” is “;
      s += a.ubound(i)+ “.
“;
      return(s);
   }
}
–>
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT language=”jscript”>
   document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>

另一种方式是通过直接在 Script 中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行 Script 时出现意外的结果。因此,最好使用 Option Explicit 语句显式声明所有变量,并将其作为 Script 的第一条语句。 
命名规则
变量命名必须遵循 VBScript 的标准命名规则。变量命名必须遵循: 
第一个字符必须是字母。 
不能包含嵌入的句点。 
长度不能超过 255 个字符。 
在被声明的作用域内必须唯一。 
变量的作用域与存活期
变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被 Script 中所有过程所识别,称为 Script 级变量,具有 Script 级作用域。
变量存在的时间称为存活期。Script 级变量的存活期从被声明的一刻起,直到 Script 运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。 

VB中不怎懂ubound函数的使用

UBound 函数

返回一个 Long 型数据,其值为指定的数组维可用的最大下标。

语法

UBound(arrayname[, dimension])

UBound 函数的语法包含下面部分:

arrayname 必需的。数组变量的名称,遵循标准变量命名约定。
dimension 可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2
表示第二维,如此等等。如果省略 dimension,就认为是 1。

所以你这个ubound(A,1)就是返回i维的最大下标
一般用在动态数组中,静态的最大下标在定义是就已经知道了
 

给变量赋值
创建如下形式的表达式给变量赋值:变量在表达式左边,要赋的值在表达式右边。例如: 
 B = 200
标量变量和数组变量
多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号 ( )。下例声明了一个包含 11 个元素的一维数组: 
 Dim A(10)
虽然括号中显示的数字是 10,但由于在 VBScript 中所有数组都是基于 0 的,所以这个数组实际上包含 11 个元素。在基于 0 的数组中,数组元素的数目总是括号中显示的数目加 1。这种数组被称为固定大小的数组。
在数组中使用索引为数组的每个元素赋值。从 0 到 10,将数据赋给数组的元素,如下所示: 

对于函数array与ubound的应用中的问题

返回一个 Long 型数据,其值为指定数组维可用的最小下标。

语法

LBound(arrayname[, dimension])

LBound 函数的语法包含下面部分:

部分 描述
arrayname 必需的。数组变量的名称,遵循标准的变量命名约定。
dimension 可选的;Variant (Long)。指定返回哪一维的下界。1 表示第一维,2
表示第二维,如此类推。如果省略 dimension,就认为是 1。

说明

LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound
用来确定数组某一维的上界。

对具有下述维数的数组而言,LBound 的返回值见下表:

Dim A(1 To 100, 0 To 3, -3 To 4)

语句 返回值
LBound(A, 1) 1
LBound(A, 2) 0
LBound(A, 3) -3

所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array
函数创建的数组的下界为 0;它不受 Option Base 的影响。

对于那些在 Dim 中用 To 子句来设定维数的数组而言,Private、Public、ReDim
或 Static 语句可以用任何整数作为下界。

返回一个 Long 型数据,其值为指定的数组维可用的最大下标。

语法

UBound(arrayname[, dimension])

UBound 函数的语法包含下面部分:

部分 描述
arrayname 必需的。数组变量的名称,遵循标准变量命名约定。
dimension 可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2
表示第二维,如此等等。如果省略 dimension,就认为是 1。

说明

UBound 函数与 LBound 函数一起使用,用来确定一个数组的大小。LBound
用来确定数组某一维的上界。

对具有下述维数的数组而言,UBound 的返回值见下表:

Dim A(1 To 100, 0 To 3, -3 To 4)

语句 返回值
UBound(A, 1) 100
UBound(A, 2) 3
UBound(A, 3) 4

LBound 函数示例
该示例使用 LBound 函数来返回数组的指定维数的最小可用下标。可以使用
Option Base 语句取代数组缺省下标值 0。

Dim Lower
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ‘声明数组变量。
Dim AnyArray(10)
Lower = Lbound(MyArray, 1) ‘返回 1。
Lower = Lbound(MyArray, 3) ‘返回 10。
Lower = Lbound(AnyArray) ‘返回 0 或 1,取决于
‘Option Base 的设置。

UBound 函数示例
该示例使用 UBound 函数,确定数组的指定维的最大可用下标。

Dim Upper
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ‘声明数组变量。
Dim AnyArray(10)
Upper = UBound(MyArray, 1) ‘返回 10。
Upper = UBound(MyArray, 3) ‘返回 20。
Upper = ……余下全文>>
 

JavaScript中ubound函数方法是返回在 VBArray
的指定维中所使用的最大索引值。使用方法: 复制代…

 A(0) = 256
 A(1) = 324
 A(2) = 100
 . . .
 A(10) = 55

与此类似,使用索引可以检索到所需的数组元素的数据。例如: 
 . . . 
 SomeVariable = A(8)  
 . . . 

数组并不仅限于一维。数组的维数最大可以为 60(尽管大多数人不能理解超过 3 或 4 的维数)。声明多维数组时用逗号分隔括号中每个表示数组大小的数字。在下例中,MyTable 变量是一个有 6 行和 11 列的二维数组: 
 Dim MyTable(5, 10)

在二维数组中,括号中第一个数字表示行的数目,第二个数字表示列的数目。
也可以声明动态数组,即在运行 Script 时大小发生变化的数组。对数组的最初声明使用 Dim 语句或 ReDim 语句。但是对于动态数组,括号中不包含任何数字。例如: 

 Dim MyArray()
 ReDim AnotherArray()
要使用动态数组,必须随后使用 ReDim 确定维数和每一维的大小。在下例中,ReDim 将动态数组的初始大小设置为 25,而后面的 ReDim 语句将数组的大小重新调整为 30,同时使用 Preserve 关键字在重新调整大小时保留数组的内容。 
 ReDim MyArray(25)
 . . . 
 ReDim Preserve MyArray(30)
重新调整动态数组大小的次数是没有任何限制的,但是应注意:将数组的大小调小时,将会丢失被删除元素的数据。 

发表评论

电子邮件地址不会被公开。 必填项已用*标注