博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS 中如何判断 undefined 和 null
阅读量:6331 次
发布时间:2019-06-22

本文共 1402 字,大约阅读时间需要 4 分钟。

  hot3.png

JS 中如何判断 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 会使程序过于复杂。

 

转:http://www.cnblogs.com/mountain-mist/articles/1600995.html

转载于:https://my.oschina.net/garyun/blog/602753

你可能感兴趣的文章
如何使用敏捷开发来赢得太阳能竞速赛
查看>>
Mozilla “Common Voice” 开源语音识别项目
查看>>
IBM开源JVM实现OpenJ9,并提交Eclipse基金会托管
查看>>
深入JVM彻底剖析ygc越来越慢的原因(上)
查看>>
微服务通信策略
查看>>
NLP领域最优秀的8个预训练模型(附开源地址)
查看>>
AVG插件泄漏Chrome用户数据
查看>>
红帽发布 Ansible Tower 3.4:在混合云中实践DevOps更便捷
查看>>
了解这12个概念,让你的JavaScript水平更上一层楼
查看>>
VS2017 15.4提供预览版,面向Windows 10秋季更新(FCU)
查看>>
QCon上海2015精彩演讲前瞻:一线互联网公司架构实践
查看>>
中台之上(一):重视业务架构,不要让“业务的归业务、技术的归技术”
查看>>
混沌实践访谈:混沌工程和系统可观测性密不可分
查看>>
MIT开发新加密货币,用户所需数据比比特币减少99%
查看>>
使用ConstructR启动akka集群
查看>>
Apache Kylin在绿城客户画像系统中的实践
查看>>
冗余代码检测与分析
查看>>
树莓派第三代跨越发展,采用64位处理器内建WiFi及蓝牙
查看>>
技术实践如何支持演进式架构和持续集成
查看>>
在敏捷中应用测试驱动开发
查看>>