簡體   English   中英

錯誤800a01a8字符串所需的對象

[英]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中的對象。

因此,如果您比較任何原始數據類型,則只需使用=比較它們是否相等。 如果不需要對象。

http://www.w3schools.com/asp/vbscript_ref_functions.asp

根據對此答案的評論 ,VBScript沒有字符串類型。 相反,它聽起來像字符串是基元。 Is與對象引用的作品。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM