Может, не стоит называть переменные и функции одинаково?
asdasd.addEventListener('click', asdasd);
Как, вы предполагаете, это должно сработать?
Подвязываете некой переменной - 'body', действие 'click', потом переобозначаете её в функцию и получается, что при клике на функцию, у вас должна сработать функция?