在jquery中声明时,无法通过控制台访问骨干视图

时间:2017-07-29 21:13:06

标签: javascript jquery backbone.js console

尝试在jquery

中获取声明的视图(模型和集合)时出错
var PageView = Backbone.View.extend({
initialize: function(){
    this.model = new PageModel();
},

});

$(function() {
var pageView = new PageView();
});

在使用pageView的控制台中(只需输入pageView)收到错误:

Uncaught ReferenceError: pageView is not defined
at <anonymous>:1:1

没有jquery效果很好。

我知道它的基础知识,但无法弄明白。 提前谢谢

1 个答案:

答案 0 :(得分:1)

我们在jquery代码的开头放了一个常见的位:

$(function() {
    // ...
});

这意味着当DOM准备好时执行此函数,并且作为参数传入的函数确实是函数定义...因此它具有与全局范围不同的自己的范围。

您的变量在函数中定义,并且在全局范围内保持未定义。如果您想要访问全局范围内的变量,但不想提前初始化它,您可以这样做:

var pageView = false;
$(function() {
    pageView = new PageView();
});