趣-关于undefined的问题

对于undefined这个东西,平常开发中不少使用,但是我们真的搞懂了嘛?

今天,奇怪的知识点出现了
众所周知,undefined是未定义,项目中常这样写:

//常用在初始化
let str = undefined

没什么问题!但是大厂中的大神(深井冰)会研究一些神奇的问题!制定一些规范,要想定义undefined就得这样写。

//大厂中是这样用
var str=void 0

这是结果
在这里插入图片描述

作用:这样是为了消除一些隐患
譬如:

//如果我们这么写就有问题
function log(){
var undefined=1//因为undefined不是一个关键字,可以这样定义
var a=undefined//再声明一个变量a,它的值是undefined
console.log(a)//打印什么呢???
}

在这里插入图片描述

这里的undefined用的不是全局变量里面的undefined,而是这个声明的变量undefined,所以这样一赋值就会出问题了,打印了1

总结:虽然这可能是js带设计之初,遗留的bug,但是我们业务上的东西还是要追求细致和严谨.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值