为什么我可以在javascript中删除全局对象的属性?

为什么我可以在javascript中删除全局对象的属性?,javascript,Javascript,我是JS的新手。在阅读这本书时,我发现一些例子在firebug中不起作用,或者我只是不理解一些东西 例如: >>> var a = 1; undefined >>> a 1 >>> this.a 1 >>> delete a true >>> a; ReferenceError: a is not defined 为什么我可以删除全局对象的属性?我读到这样的变量是不可配置的,不能删除 也许这并不重要,但如

我是JS的新手。在阅读这本书时,我发现一些例子在firebug中不起作用,或者我只是不理解一些东西

例如:

>>> var a = 1;
undefined
>>> a
1
>>> this.a
1
>>> delete a
true
>>> a;
ReferenceError: a is not defined
为什么我可以删除全局对象的属性?我读到这样的变量是不可配置的,不能删除


也许这并不重要,但如果我能理解发生了什么,那就更好了:

回答@jamesalardice:


有关delete操作符的全面解释,以及为什么在Firebug中看到这种行为的解释,请参阅本文:

Answer by@jamesalardice:


有关delete操作符的全面解释,以及在Firebug中看到这种行为的原因,请参阅本文:

有关delete操作符的全面解释,请参阅本文,解释为什么你会在Firebug中看到这种行为:没问题:这篇文章也为我澄清了删除操作符。@jamesalardice-你应该写下你的评论作为答案。有关删除操作符的全面解释,请参阅这篇文章,解释一下为什么你会在Firebug中看到这种行为:没问题:这篇文章也为我清除了delete操作符。@jamesalardice-你应该写下你的评论作为回答。