Javascript继承伪经典方法

时间:2014-01-28 21:32:11

标签: javascript inheritance

错误

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');

}();

1 个答案:

答案 0 :(得分:0)

您获得的语法错误是因为您在评论中提到的document.getElementsByName而不是document.getElementsByTagName

就继承而言,该论坛已经广泛涵盖了该主题。我将指导您:

Pseudo-classical vs. "The JavaScript way"
JavaScript Inheritance