Я не уверен, что понимаю, что вы пытаетесь сделать, но если вы хотите получить доступ к ширине изображения, я предлагаю вам прочитать еще немного об асинхронном коде.
Что за код img.onload = function() {}
делает расписание функцию, которая будет вызвана после загрузки изображения. Однако код, который следует за ним, просто выполняется сразу ( синхронно ) после того, как будет выполнено планирование, что наверняка будет предшествовать загрузке изображения.
Следовательно, вам нужно отложить его выполнение до тех пор, пока изображение не будет загружено, и это именно то, для чего предназначен img.onload
.