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

如题所述

第1个回答  2022-11-08

  ASP中我们经常会用到两个参数就是isNull和isEmpty 在我们判断某个字符串为空的时候使用 比如某个字符串是str 经常我们用if isNull(str ) or isEmpty(str ) then来判断 或者使用if str ="" then来判断字符串是否为空

 

  有时候我们非常纠结 isNull isEmpty和""空字符串到底有什么区别呢?

  isNull()

  Null 值指出变量不包含有效数据 Null 与 Empty 不同 后者指出变量未经初始化 Null 与零长度字符串 ("") 也不同 零长度字符串往往指的是空串

  重点 使用 IsNull 函数可以判断表达式是否包含 Null 值 在某些情况下想使表达式取值为 True 例如 IfVar=Null 和 IfVar<>Null 但它们通常总是为 False 这是因为任何包含 Null 的表达式本身就为 Null 所以表达式的结果为 False

  实例

 代码如下   dim x document write(IsNull(x) & "<br />")x= 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

   零长度字符串 ("")  零长度字符串往往指的是空串 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 =   isEmpty(str) = True

  也就是部分语言中把数据中的 字符中的空串 NULL值都作为空值的测试范畴

  但在C#等语言中的要求比较严格 VB中要求也不是很严格的 这里只要了解一个特殊的类型null类型 它的类当然也是null 同时有些语言上还有一种未定义型   undefined类型 如在C#中   string str ;  则string只有这一个的定义 所以它的值还没有真正被定义 此时它就是undefined类型的 这种类型常存在于C族语言和类C族如ECMAScript族(javascript等)及Java中!

lishixinzhi/Article/program/net/201311/14453