未捕获的ReferenceError:未定义mahi

问题描述

我在两个函数之间传递值时遇到错误提示 这是一个错误“未捕获的ReferenceError:未定义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

解决方法

因为当您在console.log(mahi)之外调用encode()时,尚未声明该变量。