我正在尝试在我的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
我在这里缺少一件简单的事情。
答案 0 :(得分:0)
尝试替换
testGlobals: function () {
console.log(body);
}
与
testGlobals: function () {
console.log(this.body);
}
或
testGlobals: function () {
console.log(global.body);
}