将JavaScript getter/setter添加到本机不可配置的属性中
Add a JavaScript getter/setter to a native unconfigurable property
我正在使用特殊的getter/setter来拦截对对象属性所做的更改,目前它非常适合任何普通的用户定义属性。然而,如果我能对HTMLInputElement.value
或Array.length
等内置属性采用同样的想法,我会非常喜欢,但不幸的是,这些属性被定义为不可确定的,因此我在尝试使用getter/setter重新定义它们时出错。
我只是想知道是否有任何一种(可靠的)破解方法可以在不破坏其内部操作的情况下强制重新定义它们。
如果没有,我可能会被迫为所有这些定义替代属性,这些属性只是映射到本地属性并使用它们,但这并不理想。
稍后使用JavaScript 1.8.1:定义getter和setter
这在任何方面都不是一个好的实践,但如果你真的需要,这些功能是在原型级别定义的,所以:
Array.prototype.length = (function(){})();
好吧,我认为即使这种方法对某些函数也不起作用,它们必须受到保护
相关文章:
- 断言属性不可配置
- 使用Javascript而不是html数据属性配置Parsley
- 为什么此可配置属性不可删除
- 缺少咕噜声所需的配置属性
- Sencha Touch Store配置属性仅在“__proto__”;
- 使用script元素上的html data-*属性来配置引用的脚本文件
- Magento 1.9.2-更新自定义属性'delivery_time'在可配置的产品过程中
- 如何更改 Javascript 对象属性的可写可枚举和可配置值
- TypeError: 属性 Array.prototype.splice.call(..) 是不可配置的,无法删除
- 递归 js v3 未捕获的类型错误:无法读取未定义的属性“配置”
- 通过函数填充 Grunt 任务配置的“文件”属性
- 在 JSON.parse() 之后保留属性属性(可写、可配置)
- PyQT4:“类型错误:尝试配置不可配置属性的可配置属性
- 类型错误:属性 1 不可配置,无法删除
- 使现有的不可写和不可配置属性可写和可配置
- 如何在ECMAScript 5: Object中配置属性.创建或定义对象属性
- 访问自定义ui-router配置属性中的$stateParams
- 如何在Extjs 6中给视图项配置属性
- 对象的可配置属性和可写属性的区别
- 我没有'无法理解对象的可写和可配置属性