点击功能中的自我新实例

时间:2017-05-15 12:14:19

标签: javascript

当我尝试结构如下的代码时:

function foo(bar) {
    this.bar = bar;
    this.rec = function(e) {
        return function() {
            var elem = $('');
            var new_foo = new foo(elem);
        };
    };
    this.init = function() {
        this.bar.click(this.rec());
    };
}
var obj = new foo($(''));

我得到TypeError:foo不是构造函数 我认为这与范围有关,但我不知道我尝试做的事情是否可行。有没有办法让我在同一个类中的click函数中创建同一个类的新实例?或者我只是以错误的方式解决这个问题?

编辑:有些人指出我正在替换这个功能,但这只是一个错字,在这个例子中,这并没有发生在我遇到问题的最终代码中。但是谢谢你指出来,我现在正在编辑它。

1 个答案:

答案 0 :(得分:3)

var foo = new foo($(''));

You're overwriting the foo constructor function with an instance of foo.

Don't do that. Use a different variable name.