[Mnsx_x]学习笔记——JavaScript中的NaN、Infinity、null、undefined
JavaScript中的所有数据类型
基本数据类型 | string、number、boolean |
复合数据类型 | 数组、对象、Date、Error、RegExp… |
函数数据类型 | function |
特殊数据类型 | null、undefined |
var a = 1;
var b = 'abc';
var c = true;
var d = new Date();
var e = function(){
console.log('This is a function!');
};
var f;
var g = null;
console.log( typeof(a) );//number
console.log( typeof(b) );//string
console.log( typeof(c) );//boolean
console.log( typeof(d) );//object
console.log( typeof(e) );//function
console.log( typeof(f) );//undefined
console.log( typeof(g) );//object
null
null是一个特殊数据类型,通过使用typeof来返回null的类型将得到Object类型,这是为了向下兼容的缘故。null表示无值,有别于其他所有值, 如果一个变量的值为null,表示该变量的值不是一个有效的对象,数字,字符串…
undefined
undefined属于特殊数据类型,表示1,未定义的数据 2,定义未赋值的数据 3,和不存在的属性
NaN
NaN和Infinity都是属于number的,是基本数据类型中的一种。NaN—当一个运算产生了未定义的结果或该运算发生错误,则返回一个非数字的特殊值:NaN。
var num = 0/0;
console.log(num);//NaN
NaN与任何数据都不想等,包括他自己
var a = NaN;
var b = NaN;
console.log(a == b);//false
Infinity
当一个浮点数超过了JavaScript所能表示的最大值时,其结果为一个特殊的无穷大值:Infinity,所以说Infinity相当于无穷大,而-Infinity相当于无穷小
var a = 9e999999;
console.log(a);//Infinity