Javascript backbone.js中未定义的变量
最近我在处理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(); }); <
<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();