我遇到的问题是,在第一个JS(首先加载)中定义的变量在以后导入的JS中无法识别。
首先,加载顺序(在调试器中验证:#1首先加载):
<!-- Scheduler JS, #1 -->
<script src="codyhouse-schedule-template/js/scheduler.js"></script>
<!-- Custom JS, #2 -->
<script type="text/javascript" src="js/app.js"></script>
scheduler.js 具有以下内容:
jQuery(document).ready(function($){
// some functions, we skip those...
var schedules = $('.cd-schedule');
var objSchedulesPlan = [],
windowResize = false;
});
app.js 包含以下内容
jQuery(document).ready(function($){
// some functions, we skip those...
alert('objSchedulesPlan = ' + objSchedulesPlan);
});
错误 objSchedulesPlan未定义
Firebug显示,在文档就绪时,scheduler.JS
先行,然后定义这些变量;然后app.JS
排在第二位,无法找到这些变量。我错过了什么吗?
答案 0 :(得分:1)
objSchedulesPlan是一个局部变量。全球宣布。
var objSchedulesPlan;
jQuery(document).ready(function($){
// some functions, we skip those...
var schedules = $('.cd-schedule');
objSchedulesPlan = [],
windowResize = false;
});
答案 1 :(得分:1)
将$(document).ready
之外的变量定义为全局定义。每个$(document).ready
仅限于自己的空间
var objSchedulesPlan
jQuery(document).ready(function($){
var schedules = $('.cd-schedule');
objSchedulesPlan = [],
windowResize = false;
});