程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp中isNull、isEmpty和空字符串的區別

asp中isNull、isEmpty和空字符串的區別

編輯:關於ASP編程

     ASP中我們經常會用到兩個參數就是isNull和isEmpty,在我們判斷某個字符串為空的時候使用。比如某個字符串是str1,經常我們用if isNull(str1) or isEmpty(str1) then來判斷,或者使用if str1="" then來判斷字符串是否為空。

     

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

    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="",將空字符串賦給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記錄將破壞表格的結構,即表格中的格線將消失,很多人在可能出現這種情況時,會在數據庫中設默認值或在處理時給此記錄賦一個空串。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved