gpt4 book ai didi

javascript - 是否可以在 Javascript 中更改或删除全局对象的属性?

转载 作者:行者123 更新时间:2023-11-29 14:50:06 24 4
gpt4 key购买 nike

我刚刚阅读了有关全局对象的资料,想知道是否可以更改全局对象的属性值。我不知道这样做的目的是什么,但我很感兴趣。

以这段代码为例:

Infinity = 4;           //Alter the property Infinity of the global object
//This doesn't prompt an error...
console.log(Infinity); //Yet, for some reason it still prints Infinity, instead of 4.

你能不能也这样做:

delete Infinity;
console.log(Infinity)

这似乎是不可能的,因为 Infinity 仍然打印 Infinity,而不是提示未定义的错误。

最佳答案

这取决于 - 属性是否可写/可配置?

Infinity 两者都不是,如以下控制台日志所示:

> Object.getOwnPropertyDescriptor(window,'Infinity')
< Object {value: Infinity, writable: false, enumerable: false, configurable: false}

但是,其他全局属性,例如 frames,是可配置的:

> Object.getOwnPropertyDescriptor(window,'frames')
< Object {value: Window, writable: true, enumerable: true, configurable: true}

所以,基本上,这取决于属性的设置方式。

关于javascript - 是否可以在 Javascript 中更改或删除全局对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205891/

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