首 页 | 联系我们 | 关于优化网 | 中国阀门网-阀门88网 WEB优化行业门户网站-WEB-YOUHUA.CN
当前位置 : 首页 >> PHP技术 >> asp中isNull、isEmpty和空字符串的区别
返回首页

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

时间:2012-12-22 14:07:16 来源:中国优化网 作者:youhua 人气: 1027 发表评论  匿名投稿
ASP中我们经常会用到两个参数就是isNull和isEmpty,在我们判断某个字符串为空的时候使用。比如某个字符串是str1,经常我们用if isNull(str1) or isEmpty(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) & "<br />")x=10
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。

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

”欢迎转载www.web-youhua.com文章,谢谢

(责任编辑:youhua)
------分隔线----------------------------
本公司致力于网站建设,网站优化,搜索引擎优化(SEO),Google左侧排名等服务。欢迎转载收藏web-youhua.com
用户名:  验证码:   
理智评论文明上网,拒绝恶意谩骂  [ 查看全部 ] 网友评论
相关推荐