【前言】
在回顾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.
【总结】
基础知识对于我们走向一个新的高度很有帮助,所以我们需要铺好脚下的路,踏踏实实的走!希望对大家掌握这方面的基础知识有帮助,参考的博客:点击打开链接