isEmpty(value)和Trim(value)=""之间的差异

时间:2014-10-24 14:48:53

标签: vbscript

我是vb的新手,我没有区分这两个陈述:

isEmpty(value)

Trim(value) = ""

你可以解释一下吗?他们是等于吗?

编辑:

我的示例中有一个这样的代码

if isempty(request.form("alias")) then

...

elseif trim(request.form("alias")) = "" then

...

end if

2 个答案:

答案 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。