错误
Uncaught TypeError: Cannot call method 'appendChild' of undefined
我想知道是否有人可以帮助我,我能够使用Prototypal模式成功实现继承,但是当我尝试使用伪古典(如下所示)模式对其进行编码时 - 我继续失败。
任何人都可以指导我做错了吗?另外,在JavaScript中实现继承时,最佳做法是什么?
提前致谢。
+ function test() {
var obj = function(objType, objClass) {
this.objType = objType;
this.objClass = objClass;
};
obj.prototype.objCreate = function(objWidth, objHeight, objBackground) {
this.element = document.createElement(obj.objType);
document.getElementsByName('body')[0].appendChild(this.element);
this.element.className = this.objClass;
this.element.style.width = objWidth;
this.element.style.height = objHeight;
this.element.style.backgroundColor = objBackground;
};
var box1 = new obj('div', 'box1');
box1.objCreate('200px', '200px', 'red');
}();
答案 0 :(得分:0)
您获得的语法错误是因为您在评论中提到的document.getElementsByName
而不是document.getElementsByTagName
。
就继承而言,该论坛已经广泛涵盖了该主题。我将指导您:
Pseudo-classical vs. "The JavaScript way"
JavaScript Inheritance