gpt4 book ai didi

Javascript 删除运算符

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:59 25 4
gpt4 key购买 nike

我读了一本关于 javascript 的书,上面说:

var o = {x:1 , y:2 };
delete o ; // Can't delete a declared variable so returns false;

但是,该书还指出,在任何函数作用域之外声明的变量都是全局对象的属性。

如果它是全局对象的属性,为什么不允许我们删除它?

最佳答案

通过说:

var o = {x:1 , y:2 };

在顶级范围内,您声明了一个全局变量,它不能被删除。它确实在全局对象(在浏览器中别名为 window 对象)上创建了一个属性,但它确实是一个特殊属性。但是,如果您声明如下:

o = {x:1 , y:2 };

那么您将在全局范围内隐式设置一个属性(请记住,window 对象)。两者很相似,但又足够不同。 delete 运算符从对象中删除隐式属性,但不会删除在全局对象上创建的变量。

编辑,找到更彻底的答案

https://stackoverflow.com/a/4862268/1443478

关于Javascript 删除运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25292624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com