Microsoft VBScript
VBScript 样例
启始页
MSDN Online

说明:计算器

工作原理
计算器是含有按钮控件的 HTML 表。这些按钮是固有的 INPUT 按钮,而非 ActiveX™ 控件。VBScript 代码被附加到按钮的 OnClick 事件中。显示框是固有的 INPUT 文本框。

此样例演示了在控件事件中附加代码的两种方法。

第一种方法是在按钮的标记中指定过程的名称。所有的数字按钮使用此方法来调用同一事件过程(即 NumPressed 过程,参数为相应的数字),以传递相应的数字。例如,以下标记中,传递数字 7 的按钮调用参数为 7 的 NumPressed 过程:

	
<INPUT NAME= Seven  TYPE= Button  VALUE= "7" OnClick="NumPressed(7)">
第二种方法是使用 Visual Basic 样式的事件过程,除数字按钮以外的其他按钮使用此方法。例如 Clear Entry (CE) 按钮没有显式的代码引用:
<INPUT NAME="ClearEntry"  TYPE="Button" VALUE="  CE" >
通过查找包含在 SCRIPT 标记中其名称形如 OBJECTNAME_EVENTNAME 的过程,Internet Explorer 自动将事件与相应的代码联接。例如,只要 ClearEntry 控件的 onClick 事件发生,就会调用以下事件过程:
	
Sub ClearEntry_onClick()
'删除当前数字并重置状态
    Document.Keypad.ReadOut.Value = "0"
    FlagNewNum = True
End Sub
请注意在 SCRIPT 标记的开始处且在任何过程之外声明的变量:
	
<SCRIPT LANGUAGE= VBScript >
<!-- 
' Script 级变量
Dim Accum		' 等待运算的前一个数值(操作数)
Dim FlagNewNum		' 指示有新的数值(操作数)被输入的标志
Dim PendingOp		' 操作期间等待第二次操作数
. . .
以上为 Script 级变量,只要页面一被加载,此类变量就持续存在。相反,在过程内声明的变量(过程级变量)在过程退出后就不复存在。Script 级变量可用于存储过程调用之间必须持续存在的值。Script 级变量对于所有过程都是可见的,并且当多个过程需共享某些值时非常有用。

最后,请注意运行时函数 CDbl() 的广泛使用,它把数字或字符串转换为浮点数,而函数 CStr() 把数字转换为字符串。尽管没有严格要求使用转换函数(VBScript Variant 可按需要在子类型之间相互转换),但是建议最好使用转换函数来指明所需要的子类型,以使代码更具有可读性。


© 1997 Microsoft Corporation. All rights reserved. Terms of Use.