多年来我一直在使用Else If
在 VBScript 中编码...
If a = b Then
...
Else If a = c Then
...
End If
这似乎按要求工作。我还在网上看到很多网站使用Else If
,除了 MSDN 使用ElseIf
.
之间有区别吗ElseIf
versus Else If
?
Snippet
这是我之前编写的代码,它通过经典 ASP 运行得很好:
If IsDate(wD) Then
wS = wD
Else If wD&"" <> FormatDisplayDate(wS) Then
wS = WeekStart(Date())
wD = FormatDisplayDate(wS)
End If
这是一段旧代码的片段,由其他人编写......
if opip = "IP" then
opip = "In Patient"
Else If opip = "OP" then
opip = "Out Patient"
End If
这些都不是通过编译器运行的,但是它们都是解释的。
该示例代码无法编译并产生编译错误
Microsoft VBScript 编译错误:预期“结束”
正如我所期望的(as @ekkehard-horner 意见已在评论中指出).
我从来不知道ElseIf
然后以其他方式工作MSDN中有详细介绍。我唯一能想到的是你把它写成嵌套If
陈述。
If a = b Then
...
Else If a = c Then
...
End If
End If
看起来真的很难看,但和写作是一样的
If a = b Then
...
Else
If a = c Then
...
End If
End If
这种方法的问题是您最终会在嵌套中遇到未处理的条件If
陈述。如果发生什么情况a = d
例如?
您需要确保您的嵌套If
捕获了不需要的额外条件ElseIf
陈述。
If a = b Then
...
Else
If a = c Then
...
Else
...
End If
End If
ElseIf
方法是;
If a = b Then
...
ElseIf a = c Then
...
Else
...
End If
有趣的沉思 by @埃里克-利珀特 (VBScript 编译器背后的程序员之一)在评论的海洋中......非常值得一读。我当然学到了一些东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)