外部JS中找不到变量 - 订单是正确的

时间:2017-10-07 21:51:36

标签: javascript jquery

我遇到的问题是,在第一个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排在第二位,无法找到这些变量。我错过了什么吗?

2 个答案:

答案 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;    
    });