Javascript超类每次都运行构造函数
我在javascript中有一个超级类和一个子类。每次我创建一个新的子类实例时,超类构造函数的工作都很奇怪Javascript超类每次都运行构造函数,javascript,Javascript,我在javascript中有一个超级类和一个子类。每次我创建一个新的子类实例时,超类构造函数的工作都很奇怪 function sup() { var elem = document.createElement('div'); this.add = function(str) { elem.innerHTML = str; document.body.appendChild(elem); } this.remove = function() { docu
function sup() {
var elem = document.createElement('div');
this.add = function(str) {
elem.innerHTML = str;
document.body.appendChild(elem);
}
this.remove = function() {
document.body.removeChild(elem);
};
//...
}
function sub(str) {
this.add(str);
//...
}
sub.prototype = new sup();
只创建一个div(elem
),并重新命名。我应该如何重写我的课堂体系来修复它
add
应该在sup
的原型中div
元素,并一次又一次地将相同的div
元素添加到主体中sub
的原型应根据sup
的原型创建function sup() {}
sup.prototype.add = function(str) {
var elem = document.createElement('div');
elem.innerHTML = str;
document.body.appendChild(elem);
}
function sub(str) {
this.add(str);
}
sub.prototype = Object.create(sup.prototype);
但是如果更多的函数想要使用
元素
?然后,我不能将var elem=document.createElement('div')
放入add函数,例如,如果我想编写一个sup.removefunction@IterAtor请编辑您的问题并详细说明实际问题,可能有一个例子。@IterAtor哪个elem
必须删除?每次我创建子类的新实例时,都应该创建一个新的div,我可以添加或删除它。但这只是一个例子。