JS中判断null、undefined与NaN的方法

写了个 str ="s"++;  然后出现Nan,找了一会。  收集资料如下判断:

1.判断undefined:

1 2 3 4

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

说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"  2.判断null:

1 2 3 4

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

3.判断NaN:

1 2 3 4

var tmp = 0/0; if(isNaN(tmp)){ alert("NaN"); }

说明:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。  提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。 

4.判断undefined和null:

1 2 3 4 5

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

1 2 3 4 5

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

说明:null==undefined  <!--EndFragment-->  5.判断undefined、null与NaN:

1 2 3 4 5

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

提示:一般不那么区分就使用这个足够。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

2-玩转数据结构-不要小瞧数组

数组中索引从0开始,Java语法中要求数组存放同一类型的元素,可以通过中括号下标的方式取到元素。

1922
来自专栏对角另一面

lodash源码分析之NaN不是NaN

本文为读 lodash 源码的第五篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

2035
来自专栏Jack-Cui

Day1、Python

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1、程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有排...

1800
来自专栏vue学习

underscore.js源码解析2

undefined派生自null,所以两者相等(==),但是不全等(===),所以这里如果obj是undefined则会返回false。

985
来自专栏C#

关于.NET参数传递方式的思考

    年关将近,整个人已经没有了工作和写作的激情,估计这个时候很多人跟我差不多,该相亲的相亲,该聚会喝酒的聚会喝酒,总之就是没有了干活的心思(我有很多想...

1699
来自专栏对角另一面

lodash源码分析之NaN不是NaN

暗恋之纯粹,在于不求结果,完全把自己锁闭在一个单向的关系里面。 ——梁文道《暗恋到偷窥》 本文为读 lodash 源码的第五篇,后续文章会更新到这个仓库中,...

3226
来自专栏王磊的博客

《JavaScript权威指南》——JavaScript核心

863
来自专栏desperate633

[编程题] 奇怪的表达式求值代码

常规的表达式求值,我们都会根据计算的优先级来计算。比如*/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没...

461
来自专栏HTML5学堂

操作符与数据类型转换

上一期堡堡给大家讲解了关于JS的基础语法,虽然是一些非常基础的知识,但是它对大家的后期学习奠定了一定的基础。知识像一张网,基础越扎实,网住的鱼就越多,要告诉大家...

2778
来自专栏超然的博客

ECMAScript 6 笔记(二)

  用两个双字节的形式表达字符时,如果直接在\u后面跟上超过0xFFFF的数值(比如\u20BB7),JavaScript会理解成\u20BB+7。由于\u20...

841

扫描关注云+社区