为什么我不能在JS中删除全局变量?
使用 Chrome 我在控制台中传递了这个全局变量的名称:
multiConfig
并得到结果:
multi: {type: "1", containerId: "mp", go: {…}}
__proto__: Object
我尝试通过单击删除此变量:
if (window['multiConfig']) {
delete window['multiConfig'];
}
我得到这个错误:
ERROR TypeError: Cannot delete property 'multiConfig' of [object Window]
为什么?
回答
您不能删除window变量,但可以取消设置它:
window['multiConfig'] = undefined;
原因:
该window对象不可配置。
您可以参考这个 -如何取消设置 JavaScript 变量?
- Yes, you can mark any key as `undefined` and it will unset it.