javascript null与undefined区别

 

 

null

    这是一个对象,但是为空。因为是对象,所以 typeof null  返回 'object' 。

    null 是 JavaScript 保留关键字。

    null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:

    表达式:123 + null    结果值:123

    表达式:123 * null    结果值:0


只有一个null,undefined 是由null派生处理的,因此undefined == null 

undefined 是声明了但是没有初始化的该变量, 

null表示尚未存在的对象 

 

undefined

  undefined是全局对象(window)的一个特殊属性,其值是未定义的。但 typeof undefined 返回 'undefined' 。

      虽然undefined是有特殊含义的,但它确实是一个属性,而且是全局对象(window)的属性。请看下面的代码:

    alert('undefined' in window);   //输出:true

  var anObj = {};

     alert('undefined' in anObj);    //输出:false

 

从中可以看出,undefined是window对象的一个属性,但却不是anObj对象的一个属性。


以下三种情况typeof 返回类型为undefined 

1. 当变量未初始化时 

2. 变量未定义时 

3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) 

undefined 并不等同于未定义的值 

typeof 并不真正区分是否是未定义 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值