一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2012-12-01 编辑:简简单单 来源:一聚教程网

有时候我们非常纠结,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记录将破坏表格的结构,即表格中的格线将消失,很多人在可能出现这种情况时,会在数据库中设默认值或在处理时给此记录赋一个空串。

热门栏目