在Javascript中,我可以做
> var foo;
< undefined
> foo;
< undefined
Run Code Online (Sandbox Code Playgroud)
这表明在 Javascript 中,声明的未初始化变量始终是undefined。但他们是吗?或者它们可以像 C 中那样采用随机垃圾值吗?
MDN 的 var 文档没有帮助。
它们不会采用随机垃圾值,如果没有分配值,它将保持“未定义”状态。
这使得可以检查对象是否已被分配:来自MDN:
function test(t) {
if (t === undefined) {
return 'Undefined value!';
}
return t;
}
var x;
console.log(test(x));
// expected output: "Undefined value!
Run Code Online (Sandbox Code Playgroud)
尚未赋值的变量的类型为未定义。如果正在计算的变量没有分配的值,则方法或语句也会返回 undefined。如果未返回值,则函数将返回未定义。
| 归档时间: |
|
| 查看次数: |
6929 次 |
| 最近记录: |