6

是否有机会在 Form 对象上使用原型,这是行不通的:

Form.prototype.myFunc=function()
{
  alert('OK!');
}

另一方面,String 对象是可扩展的,例如:

String.prototype.trim = function() {
  return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
4

2 回答 2

9

如果你的意思是HTMLFormElement,那么它应该是

HTMLFormElement.prototype.myFunc=function() {
  alert('OK!');
};
于 2012-07-11T08:19:16.493 回答
1

没有规范要求 DOM 对象实现任何类型的继承,更不用说原型继承了。话虽如此,许多浏览器都这样做,但它没有标准化或普遍实现。

您可能想阅读扩展 DOM 有什么问题

在为 DOM 元素实现原型继承方案的浏览器中,您可以尝试HTMLFormElement.prototype使用以下方式进行扩展:

if (typeof HTMLFormElement == 'object' && 
    typeof HTMLFormElement.prototype == 'object') {

    // extend HTMLFormElement.prototype

}

但是请注意,宿主对象的行为完全取决于实现。以上可以做任何事情,包括抛出错误。

于 2012-07-11T08:28:11.123 回答