HTML <script> modes: async, defer, plain/empty/blank

The defer attribute is a boolean attribute. If the defer attribute is set, it specifies that the script is downloaded in parallel to parsing the page, and executed after the page has finished parsing. The defer attribute is only for external scripts (should only be used if the src attribute is present). There are several ways an external script can be executed:

by W3schools