我是vb的新手,我没有区分这两个陈述:
isEmpty(value)
和
Trim(value) = ""
编辑:
我的示例中有一个这样的代码
if isempty(request.form("alias")) then
...
elseif trim(request.form("alias")) = "" then
...
end if
答案 0 :(得分:2)
所有VBScript变量都是变体,但有subtypes。空/未初始化变量的子类型为Empty。这种变量的价值可以起作用。像0或""在表达式中:
>> Dim EmptyVar
>> WScript.Echo VarType(EmptyVar), TypeName(EmptyVar), 1 + EmptyVar, "a" & EmptyVar & "c"
>>
0 Empty 1 ac
>> WScript.Echo CStr(EmptyVar = 0), CStr(EmptyVar = "")
>>
True True
字符串变量(由文字或字符串表达式初始化)具有子类型String。 它可能是空的 - 即不包含任何字符 - 但是这样的野兽是不的子类型为空:
>> Dim NixStr : NixStr = ""
>> WScript.Echo VarType(NixStr), TypeName(NixStr), 1 & NixStr, "a" & NixStr & "c"
>>
8 String 1 ac
>>
VBScript函数IsEmpty()检查变量是否为空/未初始化:
>> WScript.Echo CStr(IsEmpty(EmptyVar)), CStr(IsEmpty(NixStr))
>>
True False
这就是为什么你应该用IsEmpty()来检查Inputbox()的返回值 - 用户取消/中止 - 和反对"" - 用户是否尝试提供#34;"该计划。
答案 1 :(得分:-3)
Trim返回不带左侧或右侧空格的字符串。例如,"你好世界"将成为"你好世界"。
isEmpty
返回一个布尔值。如果字符串为空(""),则返回true,否则返回false。