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

被折叠的 条评论
为什么被折叠?



