The async and defer attributes make it possible to create asynchronous scripts. Scripts with the async attribute execute as soon as the page is downloaded. Scripts with the defer attribute load in the order they are placed on a page. These scripts depend on other scripts and the DOM, so they must be placed in the order they should be executed. When deciding to use these attributes, make sure to check out the documentation about them.