小编Eth*_*han的帖子

无法在VBScript中的If语句中正常组合条件

我想确定它是在凌晨12点到凌晨1点之间.这是我的if语句:

If InStr(Time,"12") AND InStr(Time,"AM") Then 
    ' Do something
Else
    ' Do something else
End If
Run Code Online (Sandbox Code Playgroud)

问题是,即使两个条件都为真,此语句的计算结果为false.我知道这是因为我试过这样的嵌套

If InStr(Time,"12") Then
    If InStr(Time,"AM") Then
        ' Do something
...
Run Code Online (Sandbox Code Playgroud)

这很有效.这也有效

If InStr(Time,"12")<>0 AND InStr(Time,"AM")<>0 Then
    ' Do something
...
Run Code Online (Sandbox Code Playgroud)

但是如果它作为嵌套if工作,为什么我不能在单个if语句中测试两个嵌套if条件?

我用它们返回的值替换了InStr函数调用

If 1 AND 10 Then
    ' Do something
Else
    ' Do something else
End If
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了:if语句被评估为false并且执行了"Do something else"命令.但是当我将第二个条件嵌套在第一个if语句中的另一个if语句时,执行了"执行某些操作"命令.

为什么这样,如果没有<> 0且没有嵌套,有没有办法做到这一点?

vbscript if-statement multiple-conditions

1
推荐指数
1
解决办法
361
查看次数