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

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

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

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

Ответы на вопрос(3)

    var one;//define outside closure

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

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

window.one = 1;
Решение Вопроса

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

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

Ваш ответ на вопрос