asp中isNull、isEmpty和Null 字元串的區別

來源:互聯網
上載者:User

有時候我們非常糾結,isNull、isEmpty和""Null 字元串到底有什麼區別呢?

isNull()

Null 值指出變數不包含有效資料。Null 與 Empty 不同,後者指出變數未經初始化。Null 與零長度字串 ("") 也不同,零長度字串往往指的是空串。

重點 使用 IsNull 函數可以判斷運算式是否包含 Null 值。在某些情況下想使運算式取值為 True,例如 IfVar=Null 和 IfVar<>Null,但它們通常總是為 False。這是因為任何包含 Null 的運算式本身就為 Null,所以運算式的結果為 False。

執行個體 1

 代碼如下 複製代碼
dim x
document.write(IsNull(x) & "<br />")x=10
document.write(IsNull(x) & "<br />")x=Empty
document.write(IsNull(x) & "<br />")x=Null
document.write(IsNull(x))
輸出:
False
False
False
True


下面的樣本利用 IsNull 函數決定變數是否包含 Null:

 代碼如下 複製代碼

Dim MyVar, MyCheck
MyCheck = IsNull(MyVar)      ' 返回 False
MyVar = Null                 ' 賦為 Null
MyCheck = IsNull(MyVar)      ' 返回 True
MyVar = Empty                ' 賦為 Empty
MyCheck = IsNull(MyVar)      ' 返回 False

isEmpty()

如果變數未初始化或顯式地設定為 Empty,則函數 IsEmpty 返回 True;否則函數返回 False。如果 exPRession 包含一個以上的變數,總返回 False。

下面的樣本利用 IsEmpty 函數決定變數是否能被初始化:

 代碼如下 複製代碼

Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar)      ' 返回 True。
MyVar = Null                  ' 賦為 Null。
MyCheck = IsEmpty(MyVar)      ' 返回 False。
MyVar = Empty                 ' 賦為 Empty。
MyCheck = IsEmpty(MyVar)      ' 返回 True。

3。零長度字串 ("")
零長度字串往往指的是空串。
str="",將Null 字元串賦給str變數,已經賦值了,且賦的是字元

三者的區別就是:
isnull是一種類型測試,測試是否為空白值(null)類型。
isEmpty是一種值測試,測試是否是空值。但這個不同語言中採用的方法不同。
=""是串測試,測試值是否為空白值。

說一個isEmpty吧,在有些語言中isEmpty是一種空值測試,它可以測試以下內容:

 代碼如下 複製代碼

dim str as string
isEmpty(str)=True

str = ""
isEmpty(str)=True

str = null
isEmpty(str)=True

dim str as integer
str = 0
isEmpty(str) = True

也就是部分語言中把資料中的0,字元中的空串,NULL值都作為空白值的測試範疇。

但在C#等語言中的要求比較嚴格,VB中要求也不是很嚴格的。這裡只要瞭解一個特殊的類型null類型,它的類當然也是null。同時有些語言上還有一種未定義型:
undefined類型,如在C#中:
string str ;
則string只有這一個的定義,所以它的值還沒有真正被定義,此時它就是undefined類型的。這種類型常存在於C族語言和類C族如ECMAScript族(javascript等)及Java中!

補充:在資料庫設計中可以規定某欄位為null,這樣如果不再給他賦值時,此記錄即為null,但是在表格輸出時,null記錄將破壞表格的結構,即表格中的格線將消失,很多人在可能出現這種情況時,會在資料庫中設預設值或在處理時給此記錄賦一個空串。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.