一元流量参数为null_web前端学习中null和undefined的区别

在web前端工作项目中经常遇到null和undefined,虽然知道它们俩都表示“空”,但是具体的区别还是挺模糊的,大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。JavaScript语言居然有两个表示"无"的值:undefined和null。web前端学习中null和undefined的区别

ebbe3d38241cc94e9a3a5be523af32f3.png

null 1995年JavaScript诞生之初,像Java一样,只设置了null表示“什么都没有”,因此和Java一样,(1) null被当成一个对象;(2) null可以自动转化为0;是一个表示“无”的对象, 转为数值时为O; undefined 是一个表示“元”的原始千直, 转为主丈千直时为NaN 。当声明的变量还未初始化时,变量的默认值为undefined ,null 用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。代表“空值”,代表一个空对象指针,会用typeof运算得到 "object" ,所以,可以认为null为一个特殊的对象。

f85a686d38fad963da87cbc9a629e3ba.png

undefined 表示“缺少值”,后来JS的设计者Brendan Eich认为“无”的值最好不是对象,且由于null自动转化为0,因此造成错误不易被发现。因此,Brendan Eich又设计了一个undefined,表示“缺少值”,即此处应有一个值,但还没有定义;转为数值时为NaN(非数字值的特殊值) 即此处应该有一个值,但是还没有定义,典型用法是如下。

如果变量声明了,但没有赋值,它就等于undefined 。当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined 。如果对象没有赋值,该属性的值为undefined 。

7132dcf22455e609904f2c2451b3d0ff.png

当函数没有返回值时, 默认返回undefined 。null 表示“ 没有对象” , 即此处不应该有值,典型用法是作为函数的参数, 表示该函数的参数不是对象。作为对象原型链的终点。

欢迎大家在评论区评论留言,小编会及时给大家解答疑惑的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值