JS中null和undefined的区别(前端面试基础题)

  1. 相同点
      if 判断语句中,两者都会被转换为false

  2. 不同点
    (1)Number转换的值不同
    Number(null)输出为0, Number(undefined)输出为NaN

(2)null表示一个值被定义了,但是这个值是空值
1.作为函数的参数,表示函数的参数不是对象

2.作为对象原型链的终点 (Object.getPrototypeOf(Object.prototype))

3.定义一个值为null是合理的,但定义为undefined不合理(var name = null)      

undefined的情况:

1.undefined表示缺少值,即此处应该有值,但是还没有定义

2.变量被声明了还没有赋值,就为undefined

3.调用函数时应该提供的参数还没有提供,该参数就等于undefined

4.对象没有赋值的属性,该属性的值就等于undefined

5.函数没有返回值,默认返回undefined

示例代码:

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var o = new Object();
o.p // undefined

var x = f();
x // undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值