asp

位置:IT落伍者 >> asp >> 浏览文章

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


发布日期:2018年02月10日
 
asp中isNull、isEmpty和空字符串的区别

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

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

isNull()

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

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

实例

代码如下 dim x
documentwrite(IsNull(x) & "<br />")x=
documentwrite(IsNull(x) & "<br />")x=Empty
documentwrite(IsNull(x) & "<br />")x=Null
documentwrite(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中!

补充在数据库设计中可以规定某字段为null这样如果不再给他赋值时此记录即为null但是在表格输出时null记录将破坏表格的结构即表格中的格线将消失很多人在可能出现这种情况时会在数据库中设默认值或在处理时给此记录赋一个空串

上一篇:收藏当前页面的网址Asp代码

下一篇:asp获取用户真实IP地址的方法