在$(document).ready();

时间:2017-02-22 22:23:17

标签: javascript jquery oop

我有以下代码:

var foo = function() {
    this.init = function() {
        alert('hiya');
    };
};

$(document).ready(function() {
    var bar = new foo();
    bar.init();
});

导致:

Uncaught TypeError: bar.init is not a function

但是,如果我从document.ready函数中拉出新的对象实例化和.init()调用,一切都按预期工作。

为什么jQuery的文档准备好不允许我实例化全局定义函数的新实例?

编辑:KevinB是对的,foo存在于我们代码库的其他地方。我怀疑是这样的,因为" foo"在现实世界的实例中实际上是不太可能命名的" L8.contact_form_handler()",但显然其他人正在使用同样不太可能的命名方案。

0 个答案:

没有答案