Вопрос по javascript, jquery – JQuery / Javascript: определение глобальной переменной внутри функции?

8

У меня есть этот код:

        var one;
        $("#ma1").click(function() {
            var one = 1;
        })
        $("body").click(function() {
            $('#status').html("This is 'one': "+one);
        })

и когда я щелкаю тело, оно говорит: это «один»: не определено. Как я могу определить глобальную переменную для использования в другой функции?

Ваш Ответ

3   ответа
12
    var one;//define outside closure

    $("#ma1").click(function() {
        one = 1; //removed var 
    })
    $("body").click(function(e) {
        $('#status').html("This is 'one': "+one);
    })
13

Если вы хотите, чтобы глобальная переменная была привязана кwindow объект

window.one = 1;
19

Удалитьvar изнутри функции.

    $("#ma1").click(function() {
        one = 1;
    })
Спасибо за вашу помощь, Ракета. Это спасло меня. SnarkyDTheman
Добро пожаловать :)
Чтобы понять, почему это работает, когда вы использовалиvar внутри функции вы создали новую и отдельную локальную переменную. Удаливvarвы, по сути, говорите, что хотите найти цепочку для ранее определенной переменной (в данном случае глобальнаяone).
@ Моисей: Спасибо, это совершенно верно.

Похожие вопросы