js 中未初始化的变量会自动被赋予 undefined

本文探讨了JavaScript中未初始化和初始化但未赋值的变量处理。当变量未初始化时,如`a`,它会被赋予`undefined`,在`typeof`检查中同样显示为`undefined`,但尝试直接输出未声明的变量会导致错误。对于已声明但未赋值的变量,如`mesg`,其行为相同。此外,`undefined`值与`null`在比较时会返回`true`,如`b == undefined`。理解这些基础知识对于JavaScript开发者至关重要。

js 中未初始化的变量会自动被赋予 undefined

先来看一个栗子

var mesg;  //初始化mesg
console.log(mesg);  //undefined
console.log(typeof(mesg));  //undefined
console.log(typeof(a));  //undefined
console.log(a);  //报错

在上面这个栗子中,初始化了mesg,但并没有赋值,因此两次输出都是 undefined;
而 a 没有被初始化过,也自动被赋予了 undefined,因此在判断类型 typeof 中输出 undefined ,但由于 a 没有被初始化过,因此最后 console.log(a) 报错

除此之外,值得注意的是,undefined 值派生自 null(空对象指针)值,因此下面判断 null == undefined 返回值为 true,

var b = null;
console.log(b == undefined); //true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值