This image explains normal script tag, async and defer
-
Async scripts are executed as soon as the script is loaded, so it
doesn’t guarantee the order of execution (a script you included at
the end may execute before the first script file ) -
Defer scripts guarantees the order of execution in which they appear
in the page.
Ref this link : http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html