【转发】JS中如何判断null/ undefined/IsNull
以下是不正确的方法:
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,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。
注意:要同时判断 null、undefined、数字零、false 时可使用本法。
var exp = null;
if (typeof exp == "null")
{
alert("is null");
}
为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。
var exp = null;
if (isNull(exp))
{
alert("is null");
}
VBScript 中有 IsNull 这个函数,但 JavaScript 中没有。
--------------------------------------------------------------------------------
以下是正确的方法:
var exp = null;
if (!exp && typeof exp != "undefined" && exp != 0)
{
alert("is null");
}
typeof exp != "undefined" 排除了 undefined;
exp != 0 排除了数字零和 false。
更简单的正确的方法:
var exp = null;
if (exp === null)
{
alert("is null");
}
注意!!!
尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。
直接(exp)或者(!exp)就行了,没有必要单一判断。
【转发】JS中如何判断null/ undefined/IsNull的更多相关文章
- 160304-02、JS 中如何判断null 和undefined
JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的用法: var exp = undef ...
- JS中如何判断null、undefined与NaN
1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) ...
- JS中如何判断null
var exp = null; if (exp == null) { alert("is null"); } exp 为 undefined 时,也会得到与 null 相同的结果, ...
- js中使用0 “” null undefined {}需要注意
注意:在js中0为空(false) ,代表空的还有“”,null ,undefined: 如果做判断if(!上面的四种值):返回均为false console.log(!null);// true c ...
- JS 中如何判断 undefined 和 null
JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的 ...
- js中NAN、NULL、undefined的区别
NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值.即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对其 ...
- JS中如何判断对象是对象还是数组
JS中如何判断对象是对象还是数组 一.总结 一句话总结:typeof Array.isArray === "function",Array.isArray(value)和Objec ...
- JS中原始类型Null和Undefined
Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined.Null类型也只有一个值,即null.null用来表示尚未存在的对象,常用来表示函 ...
- JS去除对象或数组中的空值('',null,undefined,[],{})
javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...
随机推荐
- LINUX 性能工具使用
http://xuclv.blog.51cto.com/5503169/1184517
- 系统字体的Regular、Light等几种名称的区别
以苹果系统中的PingFang SC系列字体为例,其中常见的有下面几种类型可以细分如下. PingFang SC ExtraLight 苹方 特细 PingFang SC Light ...
- msgpack和protobuf的对比
msgpack和protobuf的对比 msgpack的序列化速度比protobuf要快一些,但反序列化要比protobuf要慢一些,但总体都接近msgpack可以直接序列化类对象,但protobuf ...
- C#编程(九)----------控制台I/O
原文链接:http://blog.csdn.net/shanyongxu/article/details/46454985 控制台I/O 可以使用Console.ReadLine()方法从控制台中读取 ...
- git 分支管理策略 与 物理实现 --author by阮一峰 & 小鱼
-------------------------下面是阮一峰博士的git branch 逻辑结构图示---------------------------------------------- 如果 ...
- DruidDataSource配置
DruidDataSource大部分属性都是参考DBCP的,如果你原来就是使用DBCP,迁移是十分方便的. 参考配置 <bean id="dataSource" class= ...
- MIR Flickr 1M 图像数据集(点击即可下载)
Index of /mirflickr/mirflickr1m Name Last modified Size Description Parent Directory - exif.zip ...
- 解决Ubuntu下的Eclipse打开Windows编写的java代码的中文乱码
其实所有的中文乱码 问题都是编码不同所导致的.这里要想让eclipse能正常显示出汉字,就要修改它的字符编码 步骤如下: 1 ,点击菜单栏中的Window(窗口),选择Preferences(首选项) ...
- 混沌数学之CircuitChaotic(二维离散电路混沌系统)
相关软件参见:混沌数学之离散点集图形DEMO 相关代码: // http://wenku.baidu.com/link?url=yg_gE7LUXCg2mXRp-ZZdfRXXIkcNj8YOhvN7 ...
- UVA 10194 (13.08.05)
:W Problem A: Football (aka Soccer) The Problem Football the most popular sport in the world (ameri ...