如何在没有" new"的情况下使用原型继承。操作者

时间:2012-09-23 17:17:38

标签: javascript closures prototype

因此,我试图制作具有原型继承的对象,而不使用“new”运算符使用闭包。 我的代码是:

var TABLE=function (tableId) {
var table=(document.getElementById(tableId)||{}),
    colName=[],
    rows,
    cols,
    selectedRow;

//private methods

    var updateRows=function(){
        //Code that updates the number of row of the table
    }
    updateRows();

//Declare the public methods for the object

var methods={
    prototype:{
        cols:function () {
        return cols;
        },
        rows:function () {
            return rows;
        }
    }
};
    return methods;
}

var table=Table("Inventory")
alert(table.rows()) //I get undefined
alert(table.prototype.rows()) //I get the actual number of rows

我做错了什么?你认为我可以使用更好的编码方式吗

我感谢所有的帮助。

1 个答案:

答案 0 :(得分:0)

如果您想使用原型继承,我们必须使用new关键字。

最好用的例子: -

http://www.klauskomenda.com/code/javascript-inheritance-by-example/