当前位置:首页 > 知道中心 > ASP > 文章

asp中isNull、isEmpty和空字符串的区别

发表于:2013-09-04| 次阅读| 作者:藕码网
TAG: asp
摘要:ASP中我们经常会用到两个参数就是isNull和isEmpty,在我们判断某个字符串为空的时候使用。比如某个字符串是str1,经常我们用if isNull(str1) or isEmpty(str1) then来判断,或者使用if str1="" then来判断字符串是否为空。

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) & "
")x=10
document.write(IsNull(x) & "
")x=Empty
document.write(IsNull(x) & "
")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记录将破坏表格的结构,即表格中的格线将消失,很多人在可能出现这种情况时,会在数据库中设默认值或在处理时给此记录赋一个空串。


注:本站部分信息可能源于互联网分享,如有侵权,请告知,我们将及时删除!

推荐文章