javascript - 恢复 native setter/getter

标签 javascript setter getter

我已经探索了 getter/setter 的工作原理......

document.body.innerHTML = 'This will change the site';

Object.defineProperty(document.body, 'innerHTML', {
    get: function(){
        console.log('[FAKED] document.innerHTML');
        return false;
    },
    set: function(val){
        console.log('[FAKED] document.innerHTML = '+val);
        return false;
    }
});

alert(document.body.innerHTML); // false

如果浏览器不支持innerHTML,或者您想为 <progress> 制作一个好的 pollyfill,这可能是一件好事。 。但是,如果您愚蠢到执行此代码。怎么才能恢复到原来的样子呢?

最佳答案

您破坏了 .innerHTML 的浏览器定义。

没有回头路了...

关于javascript - 恢复 native setter/getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474575/

相关文章:

c# - 返回新对象的 C# 属性 getter 是最佳实践吗?

c# - 不安全结构中的只读数组字段

c++ - 分配 Union 的字段

javascript - 在 Razor 文件中使用 C# 代码和函数

javascript - RxJS:将源 Observable 划分为 3 个或更多 Observable 的优雅方式

javascript - 如何使用 Jest 和 enzyme 为调用另一个函数的函数编写测试?

java - 为什么 JSF ManagedBean 方法要执行多次,而它们本来应该只执行一次?

java - Java 中的 Setter Getter 数组

java - 如何从某种类型的数组列表返回值?

javascript - 是否有任何语法可以向 eslint-disable-line 注释添加附加信息?