这个变量的范围是怎么回事?为什么我不能在函数外部访问数组?

时间:2016-07-18 18:59:12

标签: javascript jquery scope

我无法弄清楚为什么var seatSelected在我的函数之后没有被更新,即使它是一个全局变量。当数组在我的函数内部时,它会很好地记录到控制台,但我需要在其他函数中使用该数组。有人可以帮我编辑我的代码吗?

$(document).ready(function() {
    var seatsSelected = [];
    var users = [];

    $("#purchase").hide();

    //Inserts seat selection in form input
    $(".seat").on("click", function() {
        $('#purchase').show();
        var indexOfSeat = seatsSelected.indexOf($(this).children('p').text());
        if (!($(this).hasClass("unavailable"))) {
            $(this).toggleClass("selected");
            if (($(this).hasClass("selected"))) {
                seatsSelected.push($(this).children('p').text());
                seatsSelected.forEach(function(each) {
                    $("#seats").val(seatsSelected);
                });
                //Removes unclicked seats
            } else if (!($(this).hasClass("selected"))) {
                seatsSelected.splice(indexOfSeat, 1);
                seatsSelected.forEach(function(each) {
                    $("#seats").val(seatsSelected);
                });
            }
        } else if ($(this).hasClass("unavailable")) {
            alert('This seat is unavailable')
        }
    })

    console.log(seatsSelected);
});

0 个答案:

没有答案