【Javascript基础篇】——基本数据类型的特殊类型null,undefined讲解及typeof用法

【前言】

   在回顾javascript的时候总结了javascript的一些数据类型,它主要分为了两种数据类型:基本类型和非基本类型(object类型);基本数据类型包括了:number,string,boolean,null,undefined。其中number类型主要扩充的是无穷大和无穷小infinity,以及在相关运算中产生的NaN.其中null,undefined,NaN是我们本节主要讲解的内容

【内容】

NaN:保留字(表明数据类型不是数字) 

undefined:对象属性或方法不存在,或声明了变量但从未赋值。 

Null:对一个变量显式地赋值为 null。 包含 null 的表达式之间的任何操作。

♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡

NaN:

不属于数据类型,只是在相关的运算过程中出现异常导致的一种结果。

它不等于任何东西,包括它自己!

Null 数据类型 :
在 Jscript 中数据类型 null 只有一个值:null。关键字 null 不能用作函数或变量的名称。 
包含 null 的变量包含“无值”或“无对象”。换句话说,该变量没有保存有效的数、字符串、boolean、数组或对象。可以通过给一个变量赋 null 值来清除变量的内容。

Undefined 数据类型: 

如下情况使返回 undefined 值: 对象属性不存在, 声明了变量但从未赋值。

 

null和undefined的用法上的区别:

①undefined是自动赋值的,而null必须是自定义的

var a;其中a是undefined,而不是null。必须是var a=null,a才是null。

②运算的结果是不一样的。

undefined+1=NaN, Null+1=0

♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡

绝大部分的值在转换为布尔类型都为True但是一下六种falsy情况除外:

1.“”

2.null

3.undefined

4.0

5.NaN

6.false

其中有三种情况就是我们今天要着重提起的null,undefined,NaN;他们均属于基本数据类型,但是null有一些特殊,typeof返回的是object的类型。

var result=‘’;

var a;

if(a){ result='yes'};

alert(result)

结果肯定可想而知,result=‘’;

那我们其实只是为了判断a是否被定义和赋值,从上面产生FALSE的情况我们可以知道当var a=0, boolean a=false;,结果都是result=‘’,但是这个时候就和我们的想法不一致了,因为var a=0或者是boolean a=false,a都是被定义和赋值了的。

所以这个时候我们就需要优化我们的代码,用typeof返回结果是“undefined”来判断。当开始我就写了这样的代码

var result=‘’

var a;

if(typeof a!=undefined){result=‘yes’}

alert(result);

当然看起来没有问题,但是结果result却是‘yes’,而不是‘’。这时候我们不得不了解:

typeof的返回类型:“string”,“undefined”,“number”,“object”,“function”,“boolean”。

而不是undefined。“undefined”!=undefined。所以正确的写法应该是:

typeof a!=“undefined”,而不是typeof a!=undefined.

【总结】

     基础知识对于我们走向一个新的高度很有帮助,所以我们需要铺好脚下的路,踏踏实实的走!希望对大家掌握这方面的基础知识有帮助,参考的博客:点击打开链接



评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值