在JavaScript中将undefined赋值时会发生什么?

6

请考虑以下代码:

var x = undefined;

这是一行自相矛盾的代码。变量x是否已定义?JavaScript实现会将变量x从内存中删除,还是会给它赋值undefined


2
我的大脑刚刚发生了段错误。 - tacone
可能是将变量设置为未定义的副本。 - aug
1
同一主题的不同问题。 - JSideris
1
undefined 在 JS 中只是一种数据类型/值,类似于 null。在说“变量未定义”和“变量的值为未定义”之间肯定会有混淆。 - Felix Kling
1个回答

5

变量的 未声明未定义 是有区别的:

var x;     //x is equal to *undefined*
alert(y);  //error, y is undeclared

这并不是自相矛盾,但它确实是多余的:

var x = undefined;

undefined看作是一个变量在未被初始化时的值,或者是一个对象属性在未被初始化或声明时的值。


3
值得注意的是,在访问未声明的属性时会返回未定义的值。 - Jeremy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接