2

我正在使用特殊的 getter/setter 来拦截对对象属性所做的更改,它目前适用于任何普通的用户定义属性。但是,如果我可以对内置属性(如or )采用相同的想法,我会高兴,但不幸的是,这些属性被定义为不可配置,因此在尝试使用 getter/setter 重新定义它们时出现错误。HTMLInputElement.valueArray.length

我只是想知道是否有任何一种(可靠的)hack 可以让我在不破坏其内部操作的情况下强制重新定义这些。

如果没有,我可能会被迫为所有这些简单地映射到本机属性并使用它们的替代属性定义,但这并不理想。

4

2 回答 2

0

以后使用 JavaScript 1.8.1:定义 getter 和 setter

于 2012-02-07T17:59:42.953 回答
-2

这绝不是一个好的做法,但如果你真的需要,这些函数是在原型级别定义的,所以:

Array.prototype.length = (function(){})();

好的,我认为即使这种方法也不适用于某些功能,它们必须受到保护

于 2012-02-07T16:50:13.060 回答