You need to load a script without blocking the HTML parser during the loading phase. How would you use the "async" and "defer" attributes to achieve this, and what are the key differences between them?

  • Use "async" and "defer" interchangeably as they have identical functionalities. 
  • Use "async" to load the script after the HTML is parsed and "defer" to execute the script immediately. 
  • Use "async" to load the script in parallel and execute it as soon as it finishes downloading; use "defer" to load the script in parallel but defer its execution until after the HTML is parsed. 
  • Use "async" to pause the HTML parser and "defer" to load the script in parallel. 
Both "async" and "defer" are attributes used with