尝试使用一些代码扩展HTMLInputElement原型

时间:2016-04-04 08:36:34

标签: javascript oop

基本上我想添加一些属性和方法来输入原型,但它不允许我这样做,控制台打印错误,就像prototype属性是只读属性一样。 但是我想为它添加一些属性和方法,以便用一些测试任务用真正的DOM来实现原型继承。有没有办法在原型风格中做到这一点?以下是我试图实现它的方式

var input = document.getElementById("1");


function Input() {

}
Input.prototype.example = function() {
alert("Trying to extend DOM prototype");
};

HTMLInputElement.prototype = Object.create(Input.prototype);
alert(input);

1 个答案:

答案 0 :(得分:4)

您无法将HTMLInputElement.prototype替换为其他对象,您只能将其扩展为:

HTMLInputElement.prototype.example = () => {
  // Your code here
};

请注意,扩展原生原型应该小心地完成非常,并且只有在您确实需要的时候。