变量undefined详解

1.js有六种数据类型,分别是:undefined、null、string、boolean、number、object

首先来说下undefined这个数据类型,可以分为四步进行详解。

第一:是什么

undefined是其中一种数据类型,它只有一个值,怎么说呢,使用console.log(undefined);在浏览器输出只有一个值,就是undefined.

第二:什么情况会出现,如何判断呢?

平时项目中出现不少undefined,一般出现的情况是

1、声明了一个变量,但是未初始化该变量,因为未初始化的值默认就会是undefined。

2、一个function函数中,没有显式return返回值,就默认的返回值是undefined

3、js中函数的形参,当function被调用的时候传入的参数小于函数申明的形式参数,那么多余的形参是默认是undefined(其实就是该形参还未被赋值)。

数据类型一般的判断就是typeof()操作符来检测其数据类型,var aa;typeof(aa);输出是字符串的“undefined”

需要注意的是:对于尚未声明过的变量和未初始化的变量,使用typeof()检测时,都是返回“undefined”

第三:它与null的区别,在代码中如何避免这种出现undefined这种情况

1、null代表声明了是一个空对象,它也只是一个值,只能执行的操作是==或者!=一些操作符,对于有意保存对象的变量来说,但是还没有真正保存对象,就应该明确地让该变量保存为null值,这样一来,就可以通过直接检查null的值就可以知道相对应的变量是否已经保存了一个对象的引用,而不再是一个空对象了。

if(car!=null){

//对car对象执行某些操作

}

注意:console.log(undefined==null) 输出是true

尽管null和undefined是不同的,但它们都表示"值的空缺",null表示"空值",undefined表示"未定义"。两者往往可以互换。判断相等运算符==认为两者是相等的。

2、类型转换的区别

undefined:

         null: 

typeof(undefined) 输出是undefined,null输出是object,可以使用该方法区别undefined和null。


第四:如何判断空值undefined和null

正确判断undefined的方法:

var exp = undefined;
if (typeof(exp) == "undefined")
{
    alert("undefined");
}

正确判断null的方法

var exp = null; 
if (!exp && typeof(exp)!=”undefined” && exp!=0) 
{ 
alert(“is null”); 
} 

注意:尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂


详细的判断null和undefined的文章是:https://www.cnblogs.com/thiaoqueen/p/6904398.html





  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值