本文介紹在ASP中,NULL,Empty,Nothing這幾種空值的來源和判斷方法。
Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A 等于 Empty,因?yàn)樯形闯跏蓟摹覆欢ㄐ妥兞俊苟嫉扔?Empty。但如果檢測(cè) A = "" 或 A = 0,也都可以得到True 值。
B 等于 "", 因?yàn)樯形闯跏蓟姆枪潭ㄩL(zhǎng)度「字串」都等于 ""。 但請(qǐng)注意B <> Null。
C 等于 0, 這個(gè)還有問題嗎?
D 等于 Nothing, 尚未設(shè)定有物件的「物件變量」都等于 Nothing,但請(qǐng)不要使用D = Nothing, 而要使用D Is Nothing 來判斷D 是否等于Nothing,因?yàn)榕袛嗍欠裣嗟鹊姆?hào)是Is不是=。
最令人迷惑的地方是 Null 這個(gè)保留字,請(qǐng)看以下語句:
Print X = Null
Print X <> Null
結(jié)果都是輸出 Null(不是True 也不是False),這是因?yàn)槿魏我粋€(gè)運(yùn)算式只要含有Null,則該運(yùn)算式就等于Null,實(shí)際上想要判斷某一數(shù)據(jù)是否為Null 絕對(duì)不能使用:
If X = Null Then ' 永遠(yuǎn)都會(huì)得到Null
而要使用:
If IsNull(X) Then
哪一種數(shù)據(jù)會(huì)等于 Null呢?除了含有Null運(yùn)算式之外,就屬?zèng)]有輸入任何數(shù)據(jù)的「數(shù)據(jù)字段」(在數(shù)據(jù)庫中)會(huì)等于Null。即大家可以理解為Null就是數(shù)據(jù)里面讀出來的空字段。
新聞熱點(diǎn)
疑難解答
圖片精選