Vbscript isEmpty(值)和Trim(值)之间的差异=&引用;
我是vb新手,我不明白这两种说法之间的区别: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返回布尔值。如果字符
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函数;它不是.NETVisualBasic
Namespace的一部分对不起,我添加了错误的标记,我的意思是vbscript,我也在我的编辑器中添加了代码。因此,如果request.form(“别名”)等于“”,会发生什么?输入第一个if或else?@theLaw no,IsEmpty()仅在变量未初始化时返回true。如果已使用空字符串初始化,则返回false(对于Null,也将返回false)。如果您将变量设置为空(但是…好的…坏名称…),但它不是空字符串(它表示空值),它也将返回true。