Javascript中的null、undefined、NaN

1、判断彼此是否相等

function btnClick(){
    alert(null == null);//true
    alert(undefined==undefined);//true
    alert(NaN==NaN);//false
}

总结:

(1)两个null是相等的

(2)两个undefined是相等的

(3)两个NaN是不相等的

function btnClick(){
    alert(null == undefined);//true
    alert(null === undefined);//false
    alert(null == NaN);//false
    alert(undefined == NaN);//false
}

总结:

(1)null和undefined是使用“==”是相等的,而使用“===”是不相等的

(2)null和NaN是不相等的

(3)undefined和NaN是不相等的

function btnClick(){
    alert(typeof(null));//object
    alert(typeof(undefined));//undefined
}

总结:

(1)typeof(null)的结果是"object"

(2)typeof(undefined)的结果是"undefined"

2、判断是否为null、undefined、NaN

使用==、===、isXxx、typeof、instanceof

2.1、判断是否为undefined

正确的做法

var tmp = undefined;
function btnClick(){
    if(typeof(tmp)=="undefined"){
        alert("tmp is undefined!");
    }
}

或者

var tmp = null; 
function btnClick(){
    if(tmp === undefined){
        alert("tmp is undefined!");
    }
}

错误的做法

var tmp = undefined; // null,undefined
function btnClick(){
    if(tmp == undefined){
        alert("tmp is undefined!");
    }
}

分析:如果使用tmp==undefined,无论tmp的值是null或undefined,都会判断为true。

2.2、判断是否为null

正确的做法

var tmp = null; // null,NaN,undefined
function btnClick(){
    if(!tmp && typeof(tmp)!="undefined" && !isNaN(tmp)){
        alert("tmp is null!");
    }
}

或者

var tmp = null; // null,NaN,undefined
function btnClick(){
    if(tmp==null && typeof(tmp)!="undefined"){
        alert("tmp is null!");
    }
}

2.3、判断是否为NaN

正确的做法:

var tmp = NaN; // null,NaN,undefined
function btnClick(){
    if(isNaN(tmp) && typeof(tmp)!="undefined"){
        alert("tmp is NaN!");
    }
}

2.4、判断是否为null或undefined

正确的做法:

var tmp = null; // null,NaN,undefined
function btnClick(){
    if(tmp == null){
        alert("tmp is null or undefined!");
    }
}

或者

var tmp = undefined; // null,NaN,undefined
function btnClick(){
    if(tmp == undefined){
        alert("tmp is null or undefined!");
    }
}

2.5、判断是否为undefined或NaN

正确做法:

var tmp = NaN; // null,NaN,undefined
function btnClick(){
    if(isNaN(tmp)){
        alert("tmp is NaN or undefined!");
    }
}

2.6、判断是否为null或undefined或NaN

正确的做法:

var tmp = null; // null,NaN,undefined
function btnClick(){
    if(!tmp){
        alert("tmp is null or undefined or NaN!");
    }
}
时间: 2024-10-13 15:14:38

Javascript中的null、undefined、NaN的相关文章

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

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

Javascript中类型: undefined, number ,string ,object ,boolean

var a1; var a2 = true;var a3 = 1;var a4 = "Hello";var a5 = new Object();var a6 = null;var a7 = NaN;var a8 = undefined; alert(typeof a); //显示"undefined"alert(typeof a1); //显示"undefined"alert(typeof a2); //显示"boolean"

区别Javascript中的Null与Undefined

在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined. Null类型也只有一个值,即null.null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象. js 代码 var oValue; alert(oValue == undef

JavaScript中对null和undefined的理解

前沿: 今天工作中遇到了监视一个变量是undefined,结果判断写的是==null 返回值是true,这个结果引起了我对这两个东西的兴趣. 查询了相关的文章理解并测试了.发现有以下特点: 1.广义上来讲JavaScript中null和undefined是相等的,即null==undefined 返回值是true 2.狭义上来讲JavaScript中null和undefined是不相等的,即null===undefined 返回值是false 3.值得说的是null和undefined在if判断

Javascript中的null和 undefined

Javascript Undefined vs NULL Many a times we often get confused on whats the difference between UNDEFINED and NULL. undefined means a variable has been declared but has not yet been assigned a value. On the other hand, null is an assignment value. It

JavaScript中的null与nudefined

null和undefined 作者总结: null在进行数字运算时可以转换成0,而undefined会被转换成NaN(历史原因): 另外用typeof检测null会返回object对象类型 注意: 概述 null与undefined都可以表示"没有",含义非常相似.将一个变量赋值为undefined或null,老实说,语法效果几乎没区别. var a = undefined; // 或者 var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法

简述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

<!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=

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'); }