数据类型
6大基本
Number  String Boolean
Undefined Null.  Symbol (ES6)
 
3大引用类型
object array Function Regexp Date
 

undefined和null有点类似,都表示"没有"的意思。

然而类似不等于相同,下面就通过代码实例总结一下它们两者之间的区别。

一.数据类型区别:

undefined类型只有一个值,undefined。

null类型只有一个值,null。

也就是说undefined值和null值分别属于不同的数据类型,并且这两个数据类型都只有一个值。

 
 
1.判断undefined: 说明:typeof 返回的是字符串,有六种可能: "number"、"string"、"boolean"、"object"、"function"、"undefined"
.undefined通常是未初始化变量的值:
/*
1.判断undefined:
说明:typeof 返回的是字符串,有六种可能:
"number"、"string"、"boolean"、"object"、"function"、"undefined"
*/
var tmp=undefined;
if(typeof(tmp)=="undefined")
alert("undefined");
 
/*
2.判断null:
*/
.null通常用来标识一个空对象:    JavaScript中  null 的 typeof是object
var tmp = null;
if ( !tmp && typeof(tmp)!="undefined" && tmp!=0)
alert("null");
 
 
3.判断NaN: 说明:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false, 所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。
/*
3.判断NaN:
 
var tmp = 0/0; if(isNaN(tmp)){ alert("NaN"); }
说明:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,
所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。
 
提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果, 以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数 来检测算数错误,比如用 0 作除数的情况。
 
 
 
4.判断undefined和null:
说明:null==undefined
*/
var tmp = undefined;
if (tmp== undefined)
alert("null or undefined");
 
var tmp = undefined;
if (tmp== null)
alert("null or undefined");
}
 
 
5.判断undefined、null与NaN:
提示:一般不那么区分就使用这个足够。
 
var tmp = null;
if (!tmp)
alert("null or undefined or NaN");
 
 

null undefined NaN的更多相关文章

  1. js null, undefined, NaN, ‘’, false, 0, ==, === 全验证

    <html> <head> <meta charset="utf-8" /> </head> <body> <in ...

  2. 判断 null undefined NaN

    1.判断undefined: var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined ...

  3. 你所不知道的 JS: null , undefined, NaN, true==1=="1",false==0=="",null== undefined

    1 1 1 === 全相等(全部相等) ==  值相等(部分相等) demo: var x=0; undefined var y=false; undefined if(x===y){ console ...

  4. 简述null undefined NaN的异同

    1. 类型类型分析: JS中数据类型有5种:string,number,boolean,undefined,object,前四种值类型(基础数据类型),object是引用类型 var a1; //un ...

  5. 分享一个在js中判断数据是undefined,NaN,null,的技巧

    教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断 平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数 ...

  6. 了解undefined、null、NaN的区别

    1.常规的解释,null是个对象,表示空值,undefined也是个对象,表示没有定义 2.详细分析 null 书上的解释(Javascript权威指南),Javascript的关键词null是一种特 ...

  7. Javascript 中 null、NaN和undefined的区别

    1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 var a1; var a2 = tr ...

  8. JS对undefined,null,NaN判断

    1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) ...

  9. 【前端】javascript判断undefined、null、NaN;字符串包含等

    JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s" ...

随机推荐

  1. MySQL Execution Plan--IN子查询对UPDATE语句影响

    问题描述 在系统中发现一条执行时间为为44652.060734秒(12.5小时)的慢SQL,SQL语句为: UPDATE ob_internal_task SET OPERATE_STATUS WHE ...

  2. GNS3、Wireshark、SecureCRT 环境部署

    本次GNS3环境部署教程基于官方推荐的稳定版1.5.4.初次接触此软件,详细的使用方法不是很清楚,所以以此作为学习记录,仅供参考,后期补充. 软件介绍 GNS3 GNS3是一款具有图形化界面可以运行在 ...

  3. Reprint: CMake or Make

    CMake vs Make https://prateekvjoshi.com/2014/02/01/cmake-vs-make/ Programmers have been using CMake ...

  4. MySQL——时间戳和时间的转化

    前言 Mysql中时间戳和时间的转化 时间转时间戳 select unix_timestamp('2019-7-29 14:23:25'); 时间戳转时间 select from_unixtime(1 ...

  5. Appache Flume 中文介绍(转)

    Flume 是什么        Apache Flume是一个高可靠.高可用的分布式的海量日志收集.聚合.传输系统.它可以从不同的日志源采集数据并集中存储. Flume也算是Hadoop生态系统的一 ...

  6. 学习Spring-Data-Jpa(十七)---对Web模块的支持

    Spring-Data还提供了Web模块的支持,这要求Web组件Spring-MVC的jar包位于classpath下.通常通过使用@EnableSpringDataWebSupport注解来启用继承 ...

  7. learning java 实例序列化

    对Person类实例进行序例化及反序例化: Person.java public class Person implements java.io.Serializable { private Stri ...

  8. Redis存储Sortedset

    与set相比Sortedset多了一个数字与set中的各个元素相关联. 存储结构: 1.添加元素: 添加元素的时候元素一定不能相同,如果已存在该元素,表示插入失败返回0,成功返回1,但是不同元素的数字 ...

  9. [USACO14MAR] Sabotage 二分答案 分数规划

    [USACO14MAR] Sabotage 二分答案 分数规划 最终答案的式子: \[ \frac{sum-sum[l,r]}{n-len[l,r]}\le ans \] 转换一下: \[ sum[1 ...

  10. GitHub页面基本知识

    官网地址:https://help.github.com/categories/github-pages-basics/ GitHub页面是什么? GitHub页面是一个静态的站点托管服务. GitH ...