是否有机会在Form对象上使用原型,这不起作用:
Form.prototype.myFunc=function()
{
alert('OK!');
}
另一方面,String对象是可扩展的,例如:
String.prototype.trim = function() {
return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
答案 0 :(得分:9)
如果您的意思是HTMLFormElement
,那么它应该是
HTMLFormElement.prototype.myFunc=function() {
alert('OK!');
};
答案 1 :(得分:1)
没有规范要求DOM对象实现任何类型的继承,更不用说原型继承了。话虽如此,许多浏览器都这样做,但它没有标准化或普遍实现。
您可能希望阅读What’s wrong with extending the DOM。
在为DOM元素实现原型继承方案的浏览器中,您可以尝试使用以下内容扩展HTMLFormElement.prototype
:
if (typeof HTMLFormElement == 'object' &&
typeof HTMLFormElement.prototype == 'object') {
// extend HTMLFormElement.prototype
}
但请注意,主机对象的行为完全取决于实现。以上可能会做任何事情,包括抛出错误。