进出函数的Javascript变量范围

时间:2017-10-05 11:21:14

标签: javascript jquery scope

我已经在stackoverflow上检查了一些主题,但无法找到问题的答案。我需要将dates的长度设置为滑块的范围(请参阅下面的代码)。我收到一个错误,没有定义日期。如果我在slide函数中调用相同的值,它将获得正确的值。我对变量的范围感到有点困惑。有人可以解释一下吗?

var dates;

$(document).ready(function() {
    $.post('/api/test', {value: 5}, function(result) {
        if(result.success) {
            dates = result.dates;
            console.log(dates.length); //Log: 255
            //...
        }
    }, 'json');

    console.log(dates.length); //Log: dates is undefined

    $( "#slider" ).slider({
        range: [0, dates.length], //Log: dates is undefined
        slide: function(event, ui) {
            console.log(dates.length); //Log: 255
        }
    });
});

0 个答案:

没有答案