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