Есть несколько способов включить js-код в html, один - поместить код непосредственно в тег, точно так же, как вы задумывались о размещенном вами коде, а другой метод - использовать следующий синтаксис:
<script type="text/javascript" src="path/to/external_file.js"></script>
В качестве примечания: в опубликованном вами коде используется методика, предотвращающая конфликты имен js путем помещения кода в блок (function() ...)();
, что я считаю очень хорошей практикой.
Что касается вопроса об использовании async в теге, вы можете взглянуть на это: http://davidwalsh.name/html5-async