#javascript #global-variables #uncaught-reference-error
#javascript #глобальные переменные #ошибка неперехваченной ссылки
Вопрос:
я получаю сообщение об ошибке, когда пытаюсь передать значение между двумя функциями, вот ошибка «Ошибка неперехваченной ссылки: mahi не определен», она определена и указана в строке № 121, но я все еще сталкиваюсь с ошибкой
function encode() {
var selectedfile = document.getElementById("cimg").files;
if (selectedfile.length > 0) {
var imageFile = selectedfile[0];
var fileReader = new FileReader();
fileReader.onload = function (fileLoadedEvent) {
var srcData = fileLoadedEvent.target.result;
window.mahi = srcData; // here i have been defined variable as mahi
console.log(mahi) // here is variable work
}
fileReader.readAsDataURL(imageFile);
}
}
console.log(mahi) //here is a error "Uncaught ReferenceError: mahi is not defined" i have it defined and asigned at line no 121 stilli am facing error
Ответ №1:
Потому что, когда вы вызываете console.log(mahi)
вне encode()
, переменная еще не была объявлена.
Комментарии:
1. Даже если вы вызываете
encode
напрямую, это все равно не работает. Потому что он определен в обратном вызове, который может произойти через несколько секунд. Вы можете настроить внешний наблюдатель, чтобы проверить, определена ли переменная.