160304-02、JS 中如何判断null 和undefined
JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断。
以下是不正确的用法:
var exp = undefined;
if (exp == undefined)
{
alert("undefined");
}
exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 undefined 和 null 时可使用本法。
var exp = undefined;
if (typeof(exp) == undefined)
{
alert("undefined");
}
typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
以下是正确的用法:
var exp = undefined;
if (typeof(exp) == "undefined")
{
alert("undefined");
}
--------------------------------------------------------------------------------
JS 中如何判断 null
以下是不正确的用法:
var exp = null;
if (exp == null)
{
alert("is null");
}
exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。
var exp = null;
if (!exp)
{
alert("is null");
}
如果 exp 为 undefined 或者数字零,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined 和数字零时可使用本法。
var exp = null;
if (typeof(exp) == "null")
{
alert("is null");
}
为了向下兼容,exp 为 null 时,typeof 总返回 object。
var exp = null;
if (isNull(exp))
{
alert("is null");
}
JavaScript 中没有 isNull 这个函数。
以下是正确的用法:
var exp = null;
if (!exp && typeof(exp)!="undefined" && exp!=0)
{
alert("is null");
}
尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。
最新文章
- kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件
- 【Java心得总结七】Java容器下——Map
- git ignore
- Android 手势水平监听判断
- 字幕文件 WebVTT 与 srt 之间的互相转化
- 1、图解Oracle Logminer配置使用
- 开发jquery tab 插件
- DNS与DSN
- POJ 2106 Boolean Expressions (布尔表达式求值)
- Frequent Pattern 挖掘之一(Aprior算法)(转)
- qt 关于内存泄漏的检测
- (转)ThinkPHP自定义标签
- 【python学习笔记】6.抽象
- mac charles抓安卓(小米)http包
- ORACLE,DECODE函数和排名函数DENSE_RANK函数的使用
- db2 报错 sqlcode=-420 自动类型转换的问题
- flask下载文件中文IE,Edge,Safari文件名乱码
- [UE4]Break展开复杂数据结构
- Java数组排序和插入
- 【BZOJ4355】Play with sequence 线段树
热门文章
- Mongodb与mysql语法比较
- unity, imageEffect的最后一步blit所用的shader,应该关闭zwrite和ztest
- Graphics View框架
- Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁但是不能切换
- jenkins插件使用小结
- 一个表空间offline后alert日志报ORA-01135 和ORA-01110的问题
- Java线程中断理解(interrupte)
- 【转】如何把hadoop-1.x源码关联到Eclipse工程
- [转]C++中的三种继承public,protected,private
- 在eclipse中执行sql的编码问题