javascript中的undefined和null有什么区别

如题所述


javascript中的undefined和null的区别有:类型不同前者返回的是未定义值后者是对象;转换原始类型方式不同前者是不支持转换后者值为0
大多数使用JavaScript的人都会误解null和undefined之间的关系,这两个实体之间的关系不明确会导致严重问题。今天将要为大家分享如何区别null与undefined,具有一定的参考作用,希望对大家有所帮助
【推荐课程:JavaScript教程】
JavaScript中的 Null值
null是JavaScript中的一个关键字,表示没有值或者是任何值都不存在。比如我们想将变量从指定值中删除我们就可以简单的指定其值为null。除此之外,与其他任何对象一样永远不会被JavaScript隐式赋值给变量。例:
var demo= null;
console.log(demo)
JavaScript中的undefined
undefined是JavaScript在运行时创建的全局变量,在下列情况之一中将此全局变量分配给对象
1、已声明但未初始化或定义的对象
2、不存在的数组索引或对象属性
3、未提供的功能参数
4、必须但不返回值的函数的返回值
var demo;
console.log(demo)
undefined与null之间的区别
1、null和undefined的类型不同
console.log(typeof(undefined)); //undefined
console.log(typeof(null)); //objectnull是一个具有有效不存在值的对象,并且它是不可变的,而undefined的对象类型是本身未定义的
此外任何具有null值的算术运算都将产生整数值,而任何带有undefined的算术运算都会导致变量值变为NaN
2、转换为原始类型的方式不同
null和undefined之间的主要区别在于它们被转换为原始类型的方式。在null上执行算术转换时,确定的值为0可以使用以下代码片段验证此转换。
var v1= 5+ null;
console.log(v1)输出结果为5
但是undefined不执行任何此类转换,如果将undefined添加到数字中得出的结果将为NaN
var v2= 5+ undefined;
console.log(v2)输出的结果为NaN
总结:
温馨提示:答案为网友推荐,仅供参考
相似回答