ASP中isempty、isnull與空字符串三者之間的區別
isnull 說明指針為空,指針指到一個無效的位置,即對象不存在,
isempty 說明指針指向一個有效位置,但是值為空
1、空字符串
例:
a)Dim strTmp
response.write(strTmp="") ' 返回true
b)response.write(str="") ' 返回 true
c)Dim strTmp
strTmp=""
response.write(strTmp="") ' 返回 true
這幾行代碼說明ASP中無論是沒做過聲明的變量還是做個聲明但沒有賦值的變量ASP都認為是空字符串或叫做零長度字符串。
2、IsEmpty()
如果變量未初始化或顯式地設置為 Empty,則函數 IsEmpty 返回 True;
否則函數返回 False。如果 expression 包含一個以上的變量,總返回 False。
例:
a)Dim strTmp
Response.Write(IsEmpty(strTmp)) ' 返回 True
b)Dim strTmp
strTmp = Null
Response.Write(IsEmpty(strTmp)) ' 返回 Flase
c)Dim strTmp
strTmp = Empty Response.Write(IsEmpty(strTmp)) ' 返回 True
d)Dim strTmp
strTmp = ""
Response.Write(IsEmpty(strTmp)) ' 返回 Flase
3、IsNull()
Null 值指出變量不包含有效數據。Null 與 Empty 不同,後者指出變量未經初始化。Null 與零長度字符串 ("") 也不同,零長度字符串往往指的是空串。
使用 IsNull 函數可以判斷表達式是否包含 Null 值。
例:
a)Dim strTmp
Response.Write(IsNull(strTmp)) ' 返回 False
b)Response.Write(IsNull(strTmp)) ' 返回 False 注意這裡strTmp是一個未經聲明的變量
c)Dim strTmp
strTmp = Null
Response.Write(IsNull(strTmp)) ' 返回 True
d)Dim strTmp
strTmp = Empty
Response.Write(IsNull(strTmp)) ' 返回 False