Javascript数据类型——undefined和null的异同

Javascript的基本数据类型中有undefined和null两种只有一个值得特殊数据类型。其中undefined表示未被初始化,不是为声明。而null表示一个空对象指针,而这也是使用typeof检测null返回”object”的原因。

undefined表达的是通过var声明了变量,但没有显示的赋值(由此可以推论,Javascript的变量默认值为undefined)。然而对声明未赋值的变量和未被声明的变量执行typeof操作返回值均是”undefined”。就这点来讲,我们在声明变量的时候最好对其显示的赋值,这样当typeof返回”undefined”时,能明确知道这个变量时未声明的,不是未赋值的。

//undefined 一些比较
var name;
alert(name);     //undefined
alert((typeof name ); // undefined
alert(name == undefined ) ; // true
alert(name ===undefined); // true
//未声明age变量
alert(age);        //产生异常
alert(typeof age);     //undefined
alert(age == undefined); //  产生异常
alert(age === undefined); // 产生异常

null,空指针对象。由于Javascript是弱类型的,在变量的生存周期中可以任意改变其类型。对于一个准备保存对象的变量来说,应该初始化为null,这样检测null就可以确认这个对象是否已经引用了一个对象。

var people = null;
alert(people == null) ;     //true
alert(people === null) ;    //true
alert(typeof people) ;    //object

最后一点特殊的,undefined派生自null,因此null和undefined进行相等测试结果是true。这里不讨论==和===的区别,下面这个结果只表示,null和undefined不是完全相同的值。:

alert(null == undefined);    //true
alert(null === undefined);     //false

在使用上,null只表示空指针对象,undefined可以表示任意显示未初始化的变量。只要用于保存对象的变量都应明确初始化为null。

Javascript数据类型——undefined和null的异同

时间: 2024-11-07 14:17:31

Javascript数据类型——undefined和null的异同的相关文章

javascript中undefined和null的区别详解

一.问题的由来 永远不要直接使用undefined进行变量判断使用字符串"undefined"对变量进行判断 这里,undefined是原始值,在JS中undefined出现只有两种情况,一种是变量未定义.一种是定义了变量,但是没有赋值. 如果这个地方person未定义,那么利用person===undefined全等判断就会报错,person未定义但是如果使用typeof来判断,那么就不会报错了. ep: alert(person == undefined);//报错 person

javascript类型系统——undefined和null

× 目录 [1]原因 [2]undefined [3]null 前面的话 一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增加了程序复杂度,但这样做也是有一定原因的.本文将详细介绍javascript中的undefined和null 历史原因 1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示”无”的值.根据C语言的传统,null被设计成可以自动转为0 但是,JavaScript的设

JavaScript中undefined和null的区别

JavaScript中undefined和nullundefined:表示没有数值,在使用var 声明变量但未对其加以初始化时,这个变量的值就是undefined null:表示有数值,但是数值为“空”. 1. 两者的声明 声明但未定义:undefined; 1 var a; 2 console.log(a); // 执行结果:undefined 声明且定义为null; 1 var b = null; 2 console.log(b); //执行结果:null 2. typeof类型不同 und

JavaScript中undefined与null的区别

通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会发生什么事: >>> fooReferenceError: foo is not defined 我们得到了一个错误信息.我们在该变量上用typeof操作符看看它是什么类型: >>> typeof foo"undefined" 我们得到的结果为字符串“u

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

JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s"++; 然后出现Nan,找了一会. 收集资料如下判断: 1.判断undefined: 复制代码 代码如下: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefin

JavaScript 数据类型 Undefined 和 Unll 理解

1. 对 Undefined 理解 1.1 例子 由上图看出: 已定义 变量message 初始值 == undefined; 1.2 例子 显式设置 变量 message = undefined --> 没有实际意义 message == undefined // true 1.3 例子 var message; // undefined //var age; //undefined --> 就算是我并没有定义变量age , JavaScript引擎也会返回 undefined.但是 变量a

javascript 中 undefined 和 null 区别

1.相同点 如果我们直接用 undefined == null  比较他们是相等的返回的将是 true. 2.区别 当我们用undefined === null 比较的时候最后返回的将是 false. A.undefined表示"缺少值",就是此处应该有一个值,但是还没有定义 (1)变量被声明了,但没有赋值时,就等于undefined. (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined. (3)对象没有赋值的属性,该属性的值为undefined. (4)函数没有

javascript中undefined和null比较以及function类型举例

/** * undefined==null  返回 true * undefined === null  返回 false * undefined 表示变量定义了但是没有被赋值 * null 表示一个空对象的引用 */ //函数类型 Ext.onReady(function(){ function fun(){ console.info("info ... "); } //fun();  表示调用函数fun //fun  表示引用上面函数的名称 alert(typeof fun);  

JavaScript中Undefined 和 Null的区别

Undefined 这个值表示变量不含有值. 可以通过将变量的值设置为 null 来清空变量. 例如: <script> var person; var car="Volvo"; document.write(person + "<br />"); document.write(car + "<br />"); var car=null document.write(car + "<br /&g