Функция не читает глобальную переменную - PullRequest
1 голос
/ 25 ноября 2011

У меня небольшая проблема с Javascript и глобальными переменными.Согласно статье, которую я прочитал несколько минут назад при поиске решения, переменные, определенные вне функции, являются глобальными и могут использоваться по всему документу.Ну, это не похоже на работу для меня.В принципе, даже если я пытаюсь упростить процесс до этого:

var list_amount = 1;
function createElements() {
    window.alert('0');
    var cintfa_list_top = $("<div>").attr({"id":"intfa_list_top"});
    $('#intfa_list').empty()
    $('#intfa_list').append(cintfa_list_top);
    var j=0;
    window.alert('1');
    for (j=0;j<list_amount;j++) {
        window.alert('2');
            ......
            ....
            ..

Я получаю window.alert для 0 и 1, но не для 2. Когда я устанавливаю window.alert (list_amount) внутриФункция возвращает неопределенное.Разве глобальная переменная не должна работать внутри функции?И если я что-то неправильно понял, есть ли способ сделать переменные глобальными для функций, не добавляя их в параметры функции?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

В вашем коде есть ошибка, которая вешает скрипт.На самом деле закрытие для и функция работает очень хорошо (также комментируя $, поскольку здесь он не определен).

Проверьте в консоли javascript Firebug или Chrome / Opera на наличие ошибок.

LE:После просмотра jsfiddle.net/ALd2b/2 вы должны вызвать функцию после присвоения переменной.

0 голосов
/ 25 ноября 2011

Я опробовал ваш код http://jsfiddle.net/lastrose/ALd2b/, и, похоже, он работает нормально. Единственное, о чем я могу думать, это где все это определено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...