Vbscript isEmpty(值)和Trim(值)之间的差异=&引用;

Vbscript isEmpty(值)和Trim(值)之间的差异=&引用;,vbscript,Vbscript,我是vb新手,我不明白这两种说法之间的区别: i空(值) 及 Trim(值)=“” 你能解释一下吗?他们平等吗 编辑: 在我的示例中有这样的代码 if isempty(request.form("alias")) then ... elseif trim(request.form("alias")) = "" then ... end if Trim返回左或右不带ony空格的字符串。例如,“hello world”将变成“hello w world” isEmpty返回布尔值。如果字符

我是vb新手,我不明白这两种说法之间的区别:

i空(值)

Trim(值)=“”

你能解释一下吗?他们平等吗

编辑:

在我的示例中有这样的代码

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

...

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

...

end if

Trim返回左或右不带ony空格的字符串。例如,“hello world”将变成“hello w world”


isEmpty
返回布尔值。如果字符串为空(“”),则返回true,否则返回false。

所有VBScript变量都是变量,但也有变量。空/未初始化变量的子类型为空。在表达式中,此类变量的值“工作”类似于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函数检查变量是否为空/未初始化:

>> WScript.Echo CStr(IsEmpty(EmptyVar)), CStr(IsEmpty(NixStr))
>>
True False

这就是为什么您应该使用IsEmpty()检查的返回值-用户是否取消/中止-与“”-用户是否尝试向程序馈送“”。

IsEmpty
是VBA函数;它不是.NET
VisualBasic
Namespace的一部分对不起,我添加了错误的标记,我的意思是vbscript,我也在我的编辑器中添加了代码。因此,如果request.form(“别名”)等于“”,会发生什么?输入第一个if或else?@theLaw no,IsEmpty()仅在变量未初始化时返回true。如果已使用空字符串初始化,则返回false(对于Null,也将返回false)。如果您将变量设置为空(但是…好的…坏名称…),但它不是空字符串(它表示空值),它也将返回true。