[英]Error 800a01a8 Object Required for String
與Nothing相比,為什么需要將此字符串聲明為對象?
Dim BlankStr
BlankStr = "blank"
If BlankStr Is Nothing Then
End If
我也無法比較If 1 Is 1 Then
。 為什么我不能比較基元?
VBScript具有數據(子) 類型 。 除了簡單的(子)類型,例如字符串:
>> x = "blank"
>> WScript.Echo VarType(x), TypeName(x)
>>
8 String
有對象:
>> Set y = New RegExp
>> WScript.Echo VarType(y), TypeName(y)
>>
9 IRegExp2
要將對象分配給變量,需要Set ,要比較對象,需要Is 。 簡單(非對象)值具有自己的比較運算符。
要將字符串與另一個字符串進行比較:
>> WScript.Echo CStr(x = "blank"), CStr(x = "object")
>>
True False
嘗試使用一個簡單的值“好像它是一個對象”,會引發“需要對象”錯誤:
>> Set z = "blank"
>>
Error Number: 424
Error Description: Object required
>> WScript.Echo CStr(x Is x)
>>
Error Number: 424
Error Description: Object required
一無所有 。
字符串不是VBScript中的對象。
因此,如果您比較任何原始數據類型,則只需使用=
比較它們是否相等。 如果不需要對象。
根據對此答案的評論 ,VBScript沒有字符串類型。 相反,它聽起來像字符串是基元。 Is
與對象引用的作品。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.