请考虑以下代码:
var x = undefined;
这是一个自相矛盾的代码。是否定义了x? JavaScript的实现是否会从内存中删除变量x
,还是会为其赋值undefined
?
答案 0 :(得分:5)
未声明变量与未定义之间存在差异:
var x; //x is equal to *undefined*
alert(y); //error, y is undeclared
这不是自相矛盾的,但 是多余的:
var x = undefined;
将undefined
简单地视为变量在尚未初始化时的值 - 或者对象属性在未初始化或时声明的值。< / p>