Как избежать глобальных переменных в JavaScript?

Мы все это знаемглобальные переменные что-нибудь, но лучшая практика. Но есть несколько случаев, когда трудно без них писать код. Какие методы вы используете, чтобы избежать использования глобальных переменных?

Например, учитывая следующий сценарий, как бы вы не использовали глобальную переменную?

Код JavaScript:

var uploadCount = 0;

window.onload = function() {
    var frm = document.forms[0];

    frm.target = "postMe";
    frm.onsubmit = function() {
        startUpload();
        return false;
    }
}

function startUpload() {
    var fil = document.getElementById("FileUpload" + uploadCount);

    if (!fil || fil.value.length == 0) {
        alert("Finished!");
        document.forms[0].reset();
        return;
    }

    disableAllFileInputs();
    fil.disabled = false;
    alert("Uploading file " + uploadCount);
    document.forms[0].submit();
}

Соответствующая разметка:




Этот код взят из веб-формы с несколькими, Он загружает файлы по одному, чтобы предотвратить огромные запросы. Это делает этоСООБЩЕНИЕв iframe, ожидая ответа, который запускает нагрузку iframe, а затем запускает следующую отправку.

Ты неЯ должен дать конкретный ответ на этот пример, я просто предоставляю его для ссылки на ситуацию, в которой я не могу придумать, как избежать глобальных переменных.

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

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