null,undefined,NaN的区别

一、null

null表示尚未存在的对象,转为数值时为0。它表示"没有对象",即此处不该有值,常用来表示函数企图返回一个不存在的对象。null是一种特殊的object(引用类型),代表一个不确定的对象,但从null本身来说,它既不是对象,也不属于什么类型。

typeof null  //"object"
typeof(null)  //"object"
null instanceof Object  //false

null  //null
~null  //-1
~~null  //0
!null  //true
!!null  //false
+null  //0
-null  //-0
void(null)  //undefined

二、undefined
undefined是一个表示"无"的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。undefined表示"缺少值",即此处应该有一个值,但是还没有定义。

typeof(undefined)  //"undefined"

undefined  //undefined
~undefined  //-1
~~undefined  //0
!undefined  //true
!!undefined  //false
+undefined  //NaN
-undefined  //NaN
void(undefined)  //undefined

运算时null与undefined都可以被类型转换为false,但不等值于false。undefined与null相等,但不是全相等。
三、NaN
NaN是一种特殊的number,NaN与任何值都不相等,与自己也不相等。

typeof(NaN)  //"number"

NaN  //NaN
~NaN  //-1
~~NaN  //0
!NaN  //true
!!NaN  //false
+NaN  //NaN
-NaN  //NaN
void(NaN)  //undefined
时间: 2024-08-25 23:12:57

null,undefined,NaN的区别的相关文章

2016.8.01 "" null undefined NaN 0 特殊比较是true还是false

在javascript的世界里,无论是函数,还是数组,还是对象,亦或是字符串,数字,布尔类型,在这些数据类型中,总有这么几个特立独行,然后造成一些可有可无的讨厌bug. 而这些讨厌bug出现的原因就是由于比较时产生的错误,而且最不易查出错误. 在这里我们整理了这几个特殊数据类型的比较.直接上代码. 上代码前,普及一个知识: ==内容比较,数据类型不比较. ===内容比较,数据类型也比较. 上代码: ==比较代码: // "" null undefined NaN 0 console.l

简述null undefined NaN的异同

1. 类型分析:JS中数据类型有:undefined,boolean,number,string,object,前四种值类型(基础数据类型),object是引用类型 var a1; //undefined var a2=10; //number var a3="hello"; //string var a4=true; //boolean var a5=new Object(); //0bject var a6=NaN; //number var a7=null; //object v

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

<html> <head> <meta charset="utf-8" /> </head> <body> <input type="text" id="input_test"/> <script> ? var test = function(a){ // NaN, undefined if(a != a){ alert('NaN / undefined'); }

Js的null undefined NaN

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>第一个javascript计算页面</title></head><body> <script type="text/javascript"> var v1=null; var v2=NaN; var v3=

Is there a standard function to check for null, undefined, or blank variables in JavaScript?

You can just check if the variable has a truthy value or not. That means if( value ) { } will evaluate to true if value is not: null undefined NaN empty string ("") 0 false The above list represents all possible falsy values in ECMA-/Javascript.

Javascript 中的非空判断 undefined,null, NaN的区别

原出处:http://blog.csdn.net/oscar999/article/details/9353713 JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS 的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是在js 中定义变量统一使用 var , 或者不使用var 也可以使用. 那么js 中是否有数据类型的概念呢? 当然有, 使用 typeof 就可以判断这个变量的数据类型: [javasc

js判断undefined类型,undefined,null,NaN的区别

js判断undefined类型今天使用showModalDialog打开页面,返回值时.当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined   所以自作聪明判断       var reValue=window.showModalDialog("","","");      if (reValue== undefined){     alert("undefined");     }   发现判断不出来

JS中undefined、null以及NaN之间的区别,以及对象属性赋值的面试题

(1)以下三种情况typeof 返回类型为undefined --当变量未初始化时 --变量未定义时 --函数无明确返回值时(函数没有返回值时返回的都是undefined) (2)Null 类型 undefined 是由null派生处理的,因此undefined == null undefined 是声明了但是没有初始化的该变量, null表示尚未存在的对象 . (3)NaN 值 是一个特殊值,表示非数(Not a Number),类型转换失败就会返回NaN --NaN 不等于自己,即 NaN

【转】Javascript 中 null、NaN和undefined的区别

原址:http://www.cnblogs.com/qiantuwuliang/archive/2010/01/12/1645302.html 1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 var a1;var a2 = true;var a3 = 1;var a4 = "Hello";var a5 = new Object();var a6 = null;var a7