Почему эти переменные «неопределенные»?

У меня есть следующий код:

var canvasData;
var canvas2imgval;

imageObj1.onload = function() {
    ctx.drawImage(imageObj1, 0, 0, wdOb1, hgOb1);
    imageObj2.onload = function() {
        ctx.drawImage(imageObj2, imgposLeft, imgposTop, wdOb2, hgOb2);
        //img = c.toDataURL("image/png");
        //document.write('<img src="' + img + '" width="256" height="256"/>');
        //canvas2img
        canvasData = c.toDataURL("image/png");
    }

}
console.log("canvasData : "+canvasData ); 
$("#canvas2img").val(canvasData) ;
canvas2imgval = $("#canvas2img").val() ;
console.log("canvas2imgval1 : "+canvas2imgval ); 

Проблема в том, что когда я вижу значение обеих переменных,canvasData являетсяundefined а такжеcanvas2imgval1 не имеет значения. Я не знаю, что не так с моим кодом. Обычно эти две переменные помечаются как общедоступные с помощью ключевого слова JavaScriptvar.

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

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