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

backbone view not accessible through console while declared in jquery

在 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 效果很好。

我知道这是基础知识,但无法弄清楚。 提前致谢

我们放在 jquery 代码开头的公共位:

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

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

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

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