JavaScript中Null和undefind区别

公众号原文

Javascript有5种基本类型:Boolean,Number,Null,Undefined,String;和一种复杂类型:Object(对象);

undefined:只有一个值,及特殊的undefined。在使用var声明变量但未对其初始化时,这个变量的值是undefined,简言之,undefined就是表示变量申明了但未初始化时的值。

注意:尚未声明的值直接alert其值会报错而不是显示undefined;但是如果一个申明了未赋值的变量与未声明的变量所显示的typeof结果是一样的--->undefined

代码示例:

复制代码
<script type="text/javascript">

var str;

alert(typeof str);//undefined

alert(typeof message);//undefined

</script>
复制代码

 

undefined在参与数值运算时一定是NAN,在与字符串拼接相加时则直接显示undefined;

代码示例:

复制代码
<script type="text/javascript">

var b;

alert(b+3);//输出 NAN

alert(b+'3');//输出 undefined3

</script>
复制代码

 

null:示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。也就是说 null是相对于对象而言的,所以typeof(null) 为object。

null在参与数值计算时其值自动转换为0,而进行字符串相加拼接时会以字符串“null”的方式显示

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
 
var a=null;
 
alert(null+3+5);//8
 
alert(null+'hellow');//nullhellow
 
alert(null+3+'hellow');//3hellow
 
alert(null+'hellow'+3);//nullhellow3
 
</script>

  

联系:alert(null=undefined);//true   ECMAScript认为undefined是由null派生出来的,所以将他们定义为相等。

如何区分?

alert(typeof null == typeof undefined);

alert(null === undefined);

 

 

posted @   天使不哭  阅读(1420)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示