0

我正在尝试在我的 js 应用程序脚本中设置一组全局变量,以允许我在页面和站点中的整个函数中访问它们。出于某种原因,即使我知道对象在那里,我仍然在控制台中未定义。

这是我的 js 片段,js 很长,所以我想我会向你展示错误的重要部分(我认为)

(function ($) {

    "use strict";

    var global = function() {
        this.init();
    };

    global.prototype = {

        // ------------------------------------
        // Global variables

            mainContainer : 'div#container',
            tmbContainer : '.rsThumbsContainer',
            tmbContainerT : '.rsThumbsContainer',
            slider : '.collection #gallery-t-group',
            body : 'body',
            close : '<div class="close-button" id="close"><p class="icon-close"></p></div>',
            socials : '.socialbar-vertical',
            loader : '<div class="loader"></div>',
            gallery : '.collection #gallery-t-group',


        // ------------------------------------
        // Initialise

        init: function() {

            var app = this;

            this.testGlobals();
            this.loadSlide();
            this.fakingIt();
            this.unloadSlide();
            this.mobileNav();
            this.loadThumbs();
            this.royalSlider();
            this.thumbsSwitch();
            this.functionResize();
            this.theSocialActivated();
            this.theSliderActivated();
            this.theSliderDeactivated();
            this.slideEventChange();

            console.log('======> new.global.js');


        },

        // ------------------------------------
        // Functions
        testGlobals: function () {
            console.log(body);
        }

    }

    $(document).ready(function () {
        new global();
    });

})(jQuery);

在我的控制台中,我得到

Uncaught ReferenceError: body is not defined

我在这里缺少一件简单的事情吗?

4

1 回答 1

0

尝试更换

testGlobals: function () {
            console.log(body);
        }

testGlobals: function () {
            console.log(this.body);
        }

或者

testGlobals: function () {
            console.log(global.body);
        }
于 2013-10-18T09:46:24.047 回答