Javascript backbone.js中未定义的变量

Javascript backbone.js中未定义的变量,javascript,backbone.js,Javascript,Backbone.js,最近我在处理backbone.js库时遇到了一些问题,即我实例化的变量(扩展视图和模型)仍然没有定义 这里有一些代码向您展示我的意思: <script type="text/javascript"> $(document).ready(function(){ var img = new ImageUrl(); var search = new ImageSearchDialogue({el: '.imageUrl', model: img}).render(); }); <

最近我在处理backbone.js库时遇到了一些问题,即我实例化的变量(扩展视图和模型)仍然没有定义

这里有一些代码向您展示我的意思:

<script type="text/javascript">
$(document).ready(function(){

var img = new ImageUrl();
var search = new ImageSearchDialogue({el: '.imageUrl', model: img}).render();


});
</script>

$(文档).ready(函数(){
var img=新的ImageUrl();
var search=newImageSearchDialogue({el:'.imageUrl',model:img}).render();
});
这是我放在HTML文档中的脚本-但是这两个变量都没有定义。(我已经和Firebug核实过了)


这可能是一个范围问题吗

您是否希望全局定义变量?它们当前仅在函数的范围内定义。试试这个:

window.img = new ImageUrl();
window.search = new ImageSearchDialogue({el: '.imageUrl', model: img}).render();

所以我假设
ImageUrl
扩展了
主干.Model
,而
ImageSearchDialogue
扩展了
主干.View
?此外,主干和Jquery库也包含在页面中?是的,回答第一个问题。这些库是按以下顺序包含的:jquery、下划线、主干。在通过浏览器运行代码后,我在控制台窗口中将它们签出。(firefox和chrome)-变量“img”和“search”都未定义。不过,我可以在控制台窗口中从两个相关的构造函数创建新实例。这幅图可能会澄清我上面的评论:嗯,可能就是这样。但我注意到,我可以实例化另一个视图对象,它在全局范围内可见。var menu=新菜单({el:'#menu'});但是,这个变量没有传递给模型对象参数。顺便说一句,在函数范围内定义变量时,可以通过不包含“var”使变量成为全局变量。e、 g.img=新的ImageUrl();