javascript - 有人可以解释这个 getOwnPropertyDescriptor 和删除行为吗?

标签 javascript javascript-objects

在尝试删除全局(窗口)对象时,我遇到了以下行为,我想知道是否有人可以解释属性描述符设置背后的基本原理。

enter image description here

我不明白这有什么意义。 谢谢。

Firefox 52.0.1(32 位)Windows 7。

最佳答案

当你写下:

window.dog = 1; 

显式在名为dog的全局window对象上创建一个新属性。因此,当它被创建时,它的 configurable 开关设置为 true。您随后声明的事实

var dog = 6;

不会改变该属性已显式创建的事实。

当您声明时:

var cat = 9;

隐式在全局window对象上创建一个名为cat的属性。通过这种方式创建,该属性的 configurable 开关设置为 false

要点是,全局属性通常是一件坏事,在极少数情况下,当您可能需要全局属性时,最好明确说明它,以提高可读性,而且(正如您所发现的)与他们合作的灵 active 。

关于javascript - 有人可以解释这个 getOwnPropertyDescriptor 和删除行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42880303/

相关文章:

javascript - 对象的方法可以将要恢复的对象本身的名称存储为 JavaScript 中的字符串吗?

node.js - NodeJs 给我一个对象 #<Object> 没有方法

javascript - ES6 : Can't Deconstruct inside a call constructor

javascript - 这些符号在 jquery 插件中代表什么

javascript - 逗号分隔 jQuery 中的选择项

php - 使用 XmlHttpRequest 发出 DELETE 请求

javascript - 如何使用 SS 2.0 将计划脚本中的用户名传递给 PDF 模板?

javascript - 学习 jQuery 并精通 Javascript

javascript - 获取文本框中的单词

javascript - 当满足某些条件时,如何获取数组的长度?