教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断


平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数字类型的就成了NaN,这个时候判断页面这个值是否存在成了一个麻烦事.

那么有没有什么方法可以在我获取了之后判断有效性呢?还真的有,

判断undefined,null,NaN如下:

 var tmp = null; //这个tmp可以是undefined,NaN,下面的判断都会返回true.
if (!tmp) {
3   alert("null or undefined or NaN");
4 }

(*切记:!0也是会返回true的,也就是说0也会被当做无效数据,请根据实际情况自己组合判断)

加一个叹号就行了,有的朋友就会问了,如果我需要在这个数据有效时做某些操作,难道要再加一个叹号?,对,的确是这样的.如下:

 var tmp = 'wuyou';
if (!!tmp) {
alert("数据有效");
}

单独判断null,undefined,NaN的方法:

判断NaN:

 var tmp = 0/0; //0做除数是算法错误,所以结果是NaN
if(isNaN(tmp)){
alert("NaN");
}

判断undefined:

 var tmp = undefined;
if (typeof(tmp) == "undefined"){
alert("undefined");
}

判断null:

 var tmp = null;
if (!tmp && typeof(tmp)!="undefined" && tmp!=0){
alert("null");
}

判断undefined和null:

 var tmp = undefined;
if (tmp== undefined)
{
alert("null or undefined");
}
var tmp = undefined;
if (tmp== null)
{
alert("null or undefined");
}

其实undefined和null是一样的null == undefined.唯一不同就是当tmp是null时

typeof(tmp)!="undefined"为true,undefined为false

谢谢大家看我的博客,喜欢的话发个评论吧

分享一个在js中判断数据是undefined,NaN,null,的技巧的更多相关文章

  1. js中判断对象数据类型的方法

    对js中不同数据的布尔值类型总结:false:空字符串:null:undefined:0:NaN.true:除了上面的false的情况其他都为true: 如下: var o = { 'name':'l ...

  2. 关于JS中判断是数字和小数的正则表达式用法

    关于JS中判断是数字和小数的正则表达式用法 正则表达式 正则表达式是由一个字符序列形成的搜索模式. 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容. 正则表达式可以是一个简单的字符,或一 ...

  3. js中判断数据类型的四种方法总结

    js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...

  4. JS中判断鼠标按键的问题

    JS中判断鼠标按键的问题.IE左键是 window.event.button = 1右键是 window.event.button = 2中键是 window.event.button = 4没有按键 ...

  5. jq、js中判断checkbox是否选中

    最近在开发项目时用到checkbox复选框,其中遇到一个问题:在JQ中如何判断checkbox是否被选中呢?之前用JQ获取元素的属性用的都是attr(),但用在checkbox上却没有用,原因何在?? ...

  6. Js中判断变量存不存在的问题

    前面写过jquery对象存在与否的判断.现在谈下Js中判断变量存不存在的问题. 如果这样if(!a),当变量a在js中没有申明时,就会报错,那么接下去的代码将不会被执行.注意,这种判断只要变量申明过, ...

  7. js中判断对象具体类型

    大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2" ...

  8. js中json数据简单处理(JSON.parse()和js中嵌套html)

    js中json数据简单处理(JSON.parse()和js中嵌套html) 一.总结 1.html中嵌套js:<script>js代码</script> 2.js中嵌套html ...

  9. JS 中的数据类型转换

    转成字符串 String 1. 使用 toString方法 这种方法可以将 number, boolean, object,array,function 转化为字符串,但是无法转换 null, und ...

随机推荐

  1. Python入门-类的成员

    昨天我们简单的认识了一下面向对象,以及和面向过程之间的区别,从而我们知道了类这个东西,今天我们就来详细的了解一下关于类的一些东西. 一.类的成员 首先, 什么是类的成员,很简单, 你能在类中写什么? ...

  2. js数组与字符串处理 slice、splice、substring、substr、push、pop、shift、reverse、sort、join、split

    数组 方法 1.在数组末尾添加.删除元素 push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度.改变原数组 pop()方法则从数组末尾移除最后一个元素,减少数组的 ...

  3. 05_zookeeper的ACL

    [ACL概述] ACL:access control Lists,权限控制. * 针对节点可以设置相关的读写等权限,目的是为了保障数据安全性. * 权限permissions可以指定不同的权限范围以及 ...

  4. DUANG~ 万网轻云服务器,大促狂欢,不仅仅免单!

    DUANG~ 万网轻云服务器,大促狂欢,不仅仅免单!   当老板第一次知道我们要做活动的时候,其实是拒绝的.DUANG~ 打折.降价.挥泪甩卖…太俗套.客户看到一定骂我们,根本没有诚意. 所以轻云大促 ...

  5. python三次输入错误验证登录

    # login.py# 提示用户输入用户名和密码# 验证用户名和密码# 如果v错误,则输出用户名或密码错误# 如果成功,则输出欢迎,xxxnum = 0while True: name = input ...

  6. 【Leetcode】【Easy】Same Tree

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  7. 沉淀,再出发:Git的再次思考

    沉淀,再出发:Git的再次思考 一.前言 使用git也有很久了,后来有一段时间一直没有机会去使用,现在想来总结一下自己学习了这么长时间的一些心得感悟,我写的博客一般都是开了一个轮廓和框架,等到以后有所 ...

  8. 如何使用Flashfxp上传下载文件

    一.首先您本地电脑需要安装flashfxp软件,您可以通过百度搜索下载. 二.我们打开flashfxp,然后在右上角点击“会话”,再点击“快速连接”,如下图. 三.弹出“如下图”窗口.请输入FTP连接 ...

  9. ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory 解决办法

    >>> import MySQLdbTraceback (most recent call last):  File "<stdin>", line ...

  10. 【转】Linux vmstat命令实战详解

    好久没写博客了,上个月忙的晕头转向的实在没有心情.最近会发几篇PowerDNS的,先预告一下. 这篇是纯转的,原贴地址:http://www.cnblogs.com/ggjucheng/archive ...