1

所以我试图制作具有原型继承的对象,而没有使用闭包的“新”运算符。我的代码是:

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

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

我感谢所有的帮助。

4

1 回答 1

0

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

最好与示例一起使用:-

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

于 2012-09-23T17:24:36.407 回答