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类型不同
undefined的类型是undefined;
null类型是object;
1 console.log(typeof(undefined)); //执行结果:undefined 2 console.log(typeof(null)); //执行结果:object
3. 转化为数值的类型不同
undefined转化为数值是NaN
null转化为数值是0
1 console.log(Number(undefined)); //执行结果:NaN 2 console.log(Number(undefined+10)); //执行结果:NaN 3 4 console.log(Number(null)); //执行结果:0 5 console.log(Number(null+10)); //执行结果:10
4. 两者之间 == 和 ===
==运算符比较:先判断两侧内容的数据类型,如果数据类型不同,会自动转化为相同类型,再进行比较;
===运算符比较:比较两侧内容的数据类型以及值,如果两侧内容数据类型不同,直接就是false,不会执行数据类型自动转化;
1 console.log(undefined == null); //执行结果:true 2 console.log(undefined === null); //执行结果:false
逆战班
原文地址:https://www.cnblogs.com/jayreally/p/12497558.html
时间: 2024-10-11 11:00:53