Порядок был неправильным.Несмотря на то, что x объявлен, его значения используются перед присваиванием.Отсюда неопределенный
var x = document.getElementsByTagName("img")[0].getAttribute("data");
document.getElementById("myImg").src = "hackanm"+x+".gif";
<img data="WhatIWantToAdd" id="myImg" src="" >