未捕获的ReferenceError:"方法"没有定义

时间:2014-08-04 20:44:56

标签: javascript object methods referenceerror

我创建了一个javascript对象

var Article = function(data) {
    this.foo = data,
    this.get_more_data = function() {
        // do something, get a response
        show_data(response);
    },
    this.show_data = function(bar) {
        //do something with bar;
    }
};

在没有这个的情况下编写方法show_data时工作正常。但是它不能在对象之外访问。有了这个。我得到了一个" Uncaught ReferenceError"来自Chrome控制台。

为什么会这样?

感谢。

1 个答案:

答案 0 :(得分:1)

您应该将show_data作为this的方法调用,而不是作为当前上下文的函数:

var Article = function(data) {
    this.foo = data,
    this.get_more_data = function() {
        // do something, get a response
        this.show_data(this.foo);
    },
    this.show_data = function(bar) {
        console.log(bar);
    }
};