浏览器JavaScript中的只读属性
我试图列出浏览器JavaScript api具有的所有只读本机属性,如window.top或window/document.location。 我没能找到这样的名单,我在谷歌上搜索了很多:(。浏览器JavaScript中的只读属性,javascript,javascript-objects,Javascript,Javascript Objects,我试图列出浏览器JavaScript api具有的所有只读本机属性,如window.top或window/document.location。 我没能找到这样的名单,我在谷歌上搜索了很多:(。 有人能帮忙吗?根据您的评论,您正在查找所有只读窗口对象属性。已经有人将您链接到该属性 如果您正在寻找一个实际的JavaScript解决方案,您可以循环查看窗口对象上的属性,并通过检查其可写状态 例如: for (const prop in window) { // using destructur
有人能帮忙吗?根据您的评论,您正在查找所有只读
窗口
对象属性。已经有人将您链接到该属性
如果您正在寻找一个实际的JavaScript解决方案,您可以循环查看窗口
对象上的属性,并通过检查其可写
状态
例如:
for (const prop in window) {
// using destructuring here
const { writable } = Object.getOwnPropertyDescriptor(window, prop);
// an object property is by default writable,
// absence of writable prop is equivalent to `writable=true`
if (writable != null && writable !== false) {
console.log(prop, 'is writable');
}
}
还有Object.getOwnPropertyDescriptors
,它允许您一次获得所有道具
编辑
请注意,这将包括jQuery和Google Analytics等全局库,您最好坚持使用固定列表,如MDN上的列表。如果您使用的是纯HTML页面,您只需使用vanilla JS就可以完全控制该页面,您应该不会有问题。
console.log(window)
?就像MDN上的列表一样?@epascarello也许我被误解了,我需要找到所有无法覆盖或设置getter/setter的不可链接属性on@avidahan因此,该页面列出了属性,并且属性上有只读标签。这不是您要求的吗?@epascarello不完全是这样,例如window.parent就是这样列为只读,但您可以设置getter并返回您想要的任何内容,我想知道的是什么是“安全”属性