JavaScript未捕获引用错误:未定义ListMgr
我的javascript代码有一个很大的问题,基本上我找不到为什么我的ListMgr没有定义 我已经加载了ListMgr.js(现在看起来像这样):JavaScript未捕获引用错误:未定义ListMgr,javascript,jquery,html,Javascript,Jquery,Html,我的javascript代码有一个很大的问题,基本上我找不到为什么我的ListMgr没有定义 我已经加载了ListMgr.js(现在看起来像这样): var ListMgr={ 最大项目:6, 当前项目:1, 初始化:函数(\u maxItems,\u currentItems){ 如果(_maxItems==未定义){ _maxItems=6; } 如果(_currentItems===未定义){ _当前项目=1; } this.maxItems=\u maxItems; this.cur
var ListMgr={
最大项目:6,
当前项目:1,
初始化:函数(\u maxItems,\u currentItems){
如果(_maxItems==未定义){
_maxItems=6;
}
如果(_currentItems===未定义){
_当前项目=1;
}
this.maxItems=\u maxItems;
this.currentItems=\u currentItems;
};
};
然后在我的html文件中,我有:
$(文档).ready(函数(){
var mgr=new ListMgr();
经理(10,1);
});
然后它抛出
未捕获引用错误:未定义ListMgr
任何帮助都将不胜感激-我相信这里的一切都应该是正确的,但我可能弄错了。
ListMgr
是一个对象而不是一个函数,因此您不能将其作为new ListMgr()
调用。你可能想用它来代替
无需使用
new
$(document).ready(function(){
ListMgr.initialize(10, 1);
console.log(ListMgr.maxItems);
console.log(ListMgr.currentItems);
});
// 10
// 1
我最终解决了这个问题,我的assetic代码不正确,文件并没有被实际注入到标记中。我真傻
无论如何,谢谢你的帮助 这是正确的,但与OP得到的错误不匹配。如果定义了
ListMgr
,并对其调用new
,则会得到“ListMgr不是函数”而不是“ListMgr未定义”@JuanMendes确切地说,我使用Object.create进行了更改,但它仍然未定义。包含我的对象的mgr.js通过assetic in twig模板加载,并且加载正确(使用Chrome开发工具检查)。尽管如此,它还没有定义——它是否具有范围?这两个标签包含在不同的标签中。第一:你不能new
一个对象,只能是一个函数。其次,显示要包含的代码ListMgr.js
,以及加载它的网络选项卡中是否有任何错误。最简单的方法是,在ListMgr.js
中放置一个alert
语句,并确保在您的代码正确使用它之前调用它。我已经使用Object.create进行了更改,但它仍然未定义。包含我的对象的mgr.js通过assetic in twig模板加载,并且加载正确(使用Chrome开发工具检查)。尽管如此,它还没有定义——它是否具有范围?这两个标签包含在不同的标签中。你不打算听从我的建议吗?我解决了它。胡安:)我复制了css的Asset代码,但忘了更改“
$(document).ready(function(){
ListMgr.initialize(10, 1);
console.log(ListMgr.maxItems);
console.log(ListMgr.currentItems);
});
// 10
// 1