| 
 | 
语句样式规范 
每种脚本语言都有自己的大小写、缩进和其他与样式相关的特征的约定。由于 VBScript 不区分大小写,因此可以设计大写约定来提高可读性,如下面的建议所示。 
 
If&Then&Else&End If语句: 
 
If、Then、Else和EndIf的第一个字母大写。 
 
将If、Then或Else后面的语句缩进两个空格。 
在等号 (=) 的每一端放置空格。 
避免使用不必要的括号。 
正确的例子: 
- <%
 
 - If Request("FName") = "" Then
 
 - Response.Clear 
 
 - Response.Redirect "test.html"
 
 - Else
 
 - Response.Write Request("FName")
 
 - End If
 
 - %>
 
  复制代码 
同样,Function 和Sub 语句的第一个字母大写,并将它们的定义缩进两个空格。 
例子: 
- Sub SessionOnStart
 
 - Session("MyId") = Request.ServerVariables(&)
 
 - End Sub
 
  复制代码 避免使用下划线。 
例子: 
 
字符串连接语句 
为保持一致性并实现预期的解释,请在 VBScript 字符串中使用字符串连接符 (&) 而不是加号 (+)。 
 
不要像这样: 
- WholeName = FirstName + " " + LastName
 
  复制代码 
 
应该这样写: 
- WholeName = FirstName & " " & LastName
 
  复制代码 
 
 
字符串函数 
使用String(number,character)函数创建由重复字符组成的字符串。例如,要创建一个由 12 个星号组成的字符串: 
  
- Dim strAstString
 
 - strAstString = String(12,"*")
 
  复制代码 
 
String()函数将字符代码和字符串表达式作为参数,但没有For &循环那么冗长。 
 
Case 变量值 
使用UCase()或LCase()在变量赋值和逻辑测试中保持案例一致。这在分配和逻辑测试时尤其重要。 
 
 
变量声明 
显式声明变量有助于暴露错误,例如拼写错误的变量名。要使代码更可靠和可读,请使用 VBScript 中的Option Explicit语句。 
当您想使用强变量类型时,应将逻辑编程到使用支持它的语言构建的组件中,例如 Visual Basic 6.0 等中。在VBScript中如果不定义类型直接使用,会影响性能,尤其是在涉及数学计算时。 
 
 
要让阅读您的脚本的其他人清楚地了解变量的预期用途,请使用小写的三个字符前缀来指示数据类型。即使 VBScript 或 JScript 都不支持显式数据类型,建议使用此类前缀。 
 
为了命名变量的一致性,请在变量名称中使用首字母大写。不要大写前缀。例如,要将名为“SwitchOn”的变量的数据类型表示为布尔值,请使用表 A.2 中的前缀“bln”来命名变量“blnSwitchOn”。 
 
 表 A.2 变量数据类型的建议前缀  
 |  |  ADO command 
  | cmd 
  |  ADO connection 
  | cnn 
  |  ADO field 
  | fld 
  |  ADO parameter 
  | prm 
  |  ADO recordset 
  | rst 
  |  Boolean 
  | bln 
  |  Byte 
  | byt 
  |  Collection object集合 
  | col 
  |  Currency 货币类型 
  | cur 
  |  Date-time 时间类型 
  | dtm 
  |  Double 双精度 
  | dbl 
  |  Error 
  | err 
  |  Integer 整形 
  | int 
  |  Long 长整形 
  | lng 
  |  Object 对象 
  | obj 
  |  Single 单精度 
  | sng 
  |  String 字符串 
  | str 
  |  User-defined type 
  | udt 
  |  Variant 
  | vnt 
  |     
为保持变量名称长度合理,请使用标准化缩写。为清楚起见,请在整个应用程序或一组相关应用程序中保持缩写一致。 
不建议示范: 
建议示范: 
 
 
变量值修剪Trim 
修剪值时保持一致。在将它们置于状态之前将数值修剪到所需的长度。这将消除由修整方案不一致引起的处理错误。例如,像 9.997 这样重复用作乘数的值将累积与修剪后的值 9.9 不同的结果。使用 LTrim、RTrim 或 Trim 修剪字符串中不需要的前导和尾随空格,以消除空格导致处理错误或显示未对齐的可能性。 
 
 脚本性能  
对象和变量初始化 
以下信息将帮助您初始化和设置对象和变量的维度,以实现更快的执行和有效地使用服务器资源。除非另有说明,否则假定为 VBScript。 
 
范围变量 
使用页面范围以获得最佳性能 
 
局部变量驻留在函数和子例程中。将页面范围(也称为本地范围)赋予变量,除非您有令人信服的理由使用更广泛的范围。例如,您可能希望将会话范围分配给用户会话中多个脚本中使用的变量。局部变量被编译成表条目。在运行时,通过快速执行的表查找来解析对局部变量的引用,从而使局部变量比全局变量具有更快的性能。 
 
谨慎有效地使用全局变量 
 
全局变量在运行时解析,执行速度比局部变量慢得多。未声明的全局变量最慢,第一次使用时需要搜索整个变量列表。当您需要为变量赋予全局范围时,请在使用它们之前使用Dim语句声明它们。通过消除对整个变量列表的搜索,这节省了首次使用的宝贵时间。 
 
避免使用公共变量 
 
不要使用定义为Public的变量。正在审查Public关键字以确定未来的使用。请改用Dim。 
 
使用对象的应用程序范围 
存储在具有应用程序范围的变量中的信息位于内存中,并被缓存以供应用程序中的任何页面访问。如果值不经常更改,则将应用程序范围赋予应用程序中经常使用的变量。 
 
无论有什么潜在的好处,在决定是否将应用程序范围赋予对象时都要谨慎。它可能会影响性能并降低可靠性(您的应用程序可能会停止响应)。要使用具有应用程序范围的对象获得最佳性能,请将线程设置为 BOTH。 
 
避免使用服务器变量 
如果您的应用程序不需要它们,最好避免使用服务器变量。每当您的 ASP 应用程序访问服务器变量时,您的网站都会发出一个请求,该请求检索服务器的整个变量集合——而不仅仅是要使用的变量。这会在第一次使用服务器变量时导致性能下降。您可以通过将ENABLESESSIONSTATE指令设置为 FALSE来强制执行此限制。 |   
 
 
 
 |