我有以下代码:
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()",但显然其他人正在使用同样不太可能的命名方案。