在JS中明确定义时,获取“方法未定义”

时间:2010-10-28 16:05:25

标签: javascript jquery methods undefined

我有一个非常简单的代码(依赖于jQuery):

var dom_builder = function() {

    this.table = function(elem,attributes) {
        return $("<table>").attr(attributes).appendTo(elem);
    }

};

console.log(dom_builder.table);

现在,当我尝试运行它时,我收到以下错误:未捕获TypeError:对象#没有方法'table'

我不能为我的生活弄清楚为什么我会得到这个错误。我以前无数次使用这种方法,没有任何问题..

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

试试这个

var dom_builder = {

    "table": function(elem,attributes) {
        return $("<table>").attr(attributes).appendTo(elem);
    }

};

答案 1 :(得分:2)

console.log(new dom_builder().table);

答案 2 :(得分:1)

在运行该函数之前,

dom_builder.table不存在。

console.log(dom_builder.table); // undefined
d = new dom_builder();
console.log(d.table); // function(elem, attributes) { ... }