Javascript 不断地变得不明确

Javascript 不断地变得不明确,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我正在从事javascript主干项目。我声明了一个全局对象,如follow window.App = { Vent: _.extend({}, Backbone.Events) } 我在上面的初始化函数中做了如下操作 initialize: function () { window.App = { Vent: _.extend({}, Backbone.Events), hello: 'yes' }; console.log(App); // This is ONE. se

我正在从事javascript主干项目。我声明了一个全局对象,如follow

window.App = { Vent: _.extend({}, Backbone.Events) }
我在上面的
初始化
函数中做了如下操作

initialize: function () {
    window.App = { Vent: _.extend({}, Backbone.Events), hello: 'yes' };

    console.log(App); // This is ONE. see explanation below for ONE
    console.log(App.Vent); // This is TWO. see explanation below
}
function (){return parent.apply(this,arguments)} app.js:22
一个 此日志行显示以下内容

initialize: function () {
    window.App = { Vent: _.extend({}, Backbone.Events), hello: 'yes' };

    console.log(App); // This is ONE. see explanation below for ONE
    console.log(App.Vent); // This is TWO. see explanation below
}
function (){return parent.apply(this,arguments)} app.js:22
两个

这条记录线显示

 undefined
如果我做了
console.log(App.hello)
它仍然会说
undefined

请帮助我,我在这个代码中做错了什么

更新

这是所有与我的问题相关的代码。我正在使用requirejs和主干

这是我的main.js

require(['domReady', 'views/app', 'jqm'], function (domReady, AppView) {
    domReady(function () {
        window.App = { Vent: _.extend({}, Backbone.Events) };
        new AppView();
    });
});
这里是
视图/app.js
文件

define(['backbone', 'views/home/homes', 'collections/homes'], function (Backbone, HomesView, HomesCollection ) {
    var App = Backbone.View.extend({
        el: 'div#page',

        events: {
            'swipeleft': 'nextView',
            'swiperight': 'preView'
        },

        nextView: function (e) {
            console.log(App.Vent);
            //App.Vent.trigger('changeView', { direction: 'next' });
        },

        preView: function (e) {
            console.log(App.Vent);
            //App.Vent.trigger('changeView', { direction: 'prev' });
        }
    });

    return App;
});
我在这个文件中所做的是当用户
向左或向右滑动时,它调用nextView和preView函数。在这些函数中,我想在另一个视图中触发和侦听事件。但现在我想安慰它。但是它说
未定义

尝试更改:

var App = Backbone.View.extend({
去别的地方。像这样:

var iApp = Backbone.View.extend({

initialize
函数(包含)和全局作用域(独占)之间可能有一个
var-App
,它隐藏了全局作用域的
App
@fabriciomatté能否请您再详细说明一下它的工作原理是否正确<代码>控制台日志(应用程序)
->
对象{Vent:Object}
var-App
的源文件执行ctrl+f组合键,如果找到任何匹配项,则发布相关代码。我的意思是。尝试将
var-App=Backbone.View.extend({
更改为其他内容。例如:
var-iApp=Backbone.View.extend({
)。请详细说明为什么它使用iApp而不在App上工作?当您这样做时,
var-App=Backbone.View.extend({});
,您将覆盖旧的
应用程序
变量。
var a=2;var a=3;
,您可以再访问
2