`

JavaScript中的undefined,null,NaN(Not A Number)和typeof区别

 
阅读更多
JavaScript中的类型分为:undefined,null,number,string,boolean,function和其他Object引用类型。
undefined,null,NaN(Not A Number)和typeof
undefined:表示一个对象没有被定义、或没有被初始化、或一个并不存在的对象属性。
null:表示无值。

typeof运算符返回的是一个字符串。

下面是typeof运算符对各个类型的返回结果:
1.undefined:undefined
2.null:object
3.string:string
4.number:number
5.boolean:boolean
6.function:function
7.object:object


<script type="text/javascript">
<!--
alert(typeof(NaN));//输出number
var a=undefined;//等价于var a;
alert(typeof (a));//输出undefined
alert(null == undefined);//输出true
alert(null==null);//输出true
alert(NaN == NaN);//输出false
alert(typeof (m));//输出undefined,一个未定义的对象
alert(typeof(document.xx));//输出undefined,一个不存在的对象属性
//-->
</script>

说明:
1.NaN是一种特殊的number,NaN与任何值都不相等,与自己也不相等。
2.undefined类型是从null派生出来的,所以它们是相等的。

怎么判断某个值是否未定义?
答:使用===或typeof
如:

<script>
<!--
var t1 = null;
var t2;//或var t2 = undefined;
if(t1 === undefined){
	alert('t1 undefined!');
}
if(t2 === undefined){
	alert('t2 undefined!');
}
if(typeof(t2) == 'undefined'){
	alert('t2 undefined use typeof!');
}
//同时判断是否为undefined和null的方法,如下:
if(!t1){
	alert('t1 is not set value!');
}
if(!t2){
	alert('t2 is not set value!');
}
//-->
</script>


一个没有返回值的function,如下的f1(或者直接return返回,如下f2)实际上返回的是undefined。
<script>
<!--
function f1(){
	document.write('test function <br/>');
}
function f2(){
	document.write('test function2 <br/>');
	return;
}
alert(f1());//等价于:alert(typeof f1());输出undefined
alert(f2());//等价于:alert(typeof f2());输出undefined
//-->
</script>
分享到:
评论

相关推荐

    Javascript 中 null、NaN和undefined的区别总结

    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()...

    JavaScript typeof, null, 和 undefined

    JavaScript typeof, null, 和 undefined JavaScript typeof, null, undefined, valueOf()。 typeof 操作符 你可以使用 typeof 操作符来检测变量的数据类型。 实例 typeof "John" // 返回 string typeof 3.14...

    JavaScript Undefined,Null类型和NaN值区别

    一 Undefined 类型 只有一种值 undefined 以下三种情况typeof 返回类型为undefined 1. 当变量未初始化时 2. 变量未定义时 3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) undefined 并不等同于...

    javascript中的undefined 与 null 的区别 补充篇

    之前软件开发网发不过类似的文章JavaScript null和undefined区别分析JavaScript Undefined,Null类型和NaN值区别先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的...

    javascript 中null和undefined区分和比较

    javascript 中null和undefined区分和比较 Undefined类型 Undefined 类型只有一个值,即特殊 undefined 。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined , 例如: var message; alert&#40;...

    JavaScript null和undefined区别分析

    == undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来… null 这是一个对象,但是为空。因为是对象,所以 typeof null 返回 ‘object’ 。 null 是 JavaScript 保留关键字。 null 参与数值运算时其值会自动转换...

    JavaScript中Null与Undefined的区别解析

    在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined。当声明的变量还未被...

    null和undefined的区别

    null和undefined的区别 null :表示无值;undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!...

    JavaScript中的null和undefined解析

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。 总所周知:null == undefined ...

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

    说明:typeof 返回的是字符串,有六种可能:”number”、”string”、”boolean”、”object”、”function”、”undefined” 2.判断null: var tmp = null; if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ ...

    Javascript类型系统之undefined和null浅析

    本文将详细介绍javascript中的undefined和null 历史原因  1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示”无”的值。根据C语言的传统,null被设计成可以自动转为0  但是,JavaScript的设计者...

    JavaScript NaN和Infinity特殊值 [译]

    类型为”number” 代码如下: &gt; typeof NaN ‘number’ 1.1 检测NaN JavaScript中,NaN是惟一一个和自己也不想等的值.所以,也就不能使用等号运算符来判断一个值是否是NaN,不过有全局函数isNaN()来干这件事.

    js判断undefined类型,undefined,null, 的区别详细解析

    js判断undefined类型 今天使用showModalDialog打开页面,返回值时。当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined所以自作聪明判断  var reValue=window.showModalDialog(“”,””,””); ...

    JS中typeof与instanceof的区别

    JS中typeof与instanceof的区别

    跟我学习javascript的undefined与null

    当讨论JavaScript中的原始数据类型时,大多数人都知道从String、Number到Boolean的基本知识。这些原始类型相当简单,行为符合常识。但是,本文将更多关注独特的原始数据类型Null和Undefined,是什么让它们如此相似,...

    JavaScript基本类型值-Undefined、Null、Boolean

    ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number、String。 Undefined Undefined时全局变量的一个属性,它只有一个值即:undefined。当使用var声明变量但未对其初始化时,...

    浅谈JavaScript中null和undefined

    对null执行typeof运算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”(感觉怪怪的)。实际上,通常认为null是它自有类型的唯一一个成员,它可以表示数字、字符串和对象...

    区分JS中的undefined,null,,0和false

    其实标题里面我已经列出了JavaScript中所有的”空值”和”假值”,除了boolean值本身就是true和false这两种情况外,其它数据类型的”空值”主要是undefined和defined这两大类。这些空值的类型分别是: 代码如下: ...

    辨析JavaScript中的Undefined类型与null类型

    需要注意的是当使用typeof操作符判断数据类型时,未被声明的变量和未初始化的变量返回的值都为undefined var message; console.log(typeof message);//undefined console.log(typeof age);//undefined null:表示...

    详解JavaScript中typeof与instanceof用法

    今天写JS代码,遇到动态生成多个名称相同的input复选...number,boolean,string,function(函数),object(NULL,数组,对象),undefined。 如: alert&#40;typeof (123&#41;);//typeof(123)返回number alert(typeof (12

Global site tag (gtag.js) - Google Analytics