JS中判断null的方法分析


Posted in Javascript onNovember 21, 2016

本文实例讲述了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,或数字零,或 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 会使程序过于复杂。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery 简单导航实现代码
Sep 11 Javascript
JavaScript中的View-Model使用介绍
Aug 11 Javascript
响应式表格之固定表头的简单实现
Aug 26 Javascript
canvas实现简易的圆环进度条效果
Feb 28 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
requirejs按需加载angularjs文件实例
Jun 08 Javascript
Vue的Flux框架之Vuex状态管理器
Jul 30 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
Jul 12 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
Sep 22 Javascript
javascript 利用arguments实现可变长参数
Nov 21 #Javascript
js 点击a标签 获取a的自定义属性方法
Nov 21 #Javascript
浅谈JS读取DOM对象(标签)的自定义属性
Nov 21 #Javascript
AngularJS Phonecat实例讲解
Nov 21 #Javascript
浅谈React 属性和状态的一些总结
Nov 21 #Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 #Javascript
jQuery用FormData实现文件上传的方法
Nov 21 #Javascript
You might like
xajax写的留言本
2006/11/25 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python中enumerate函数遍历元素用法分析
2016/03/11 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python pytest进阶之fixture详解
2019/06/27 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
工程资料员岗位职责
2014/03/10 职场文书
理财投资建议书
2014/03/12 职场文书
精彩的广告词
2014/03/19 职场文书
2014年林业工作总结
2014/12/05 职场文书
沈阳故宫导游词
2015/01/31 职场文书
停电通知范文
2015/04/16 职场文书
公司与个人合作协议书
2016/03/19 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
Python进程间的通信之语法学习
2022/04/11 Python