Van las respuestas: lo del doctype en este caso es lo mismo (en otros casos afecta el funcionamiento de javascript y css, podés ampliar un poco
acá). El atributo defer sirve para indicarle al navegador que primero cargue el documento base y luego, cuando este está cargado, recién cargue el archivo javascript (en teoría, normalmente los navegadores cargan primero los archivos javascript y luego el documento base, por si hay algún document.write que los modifique). Finalmente, hay que partir las cadenas <script> y </script> porque si no, aunque estén entrecomilladas, el intéprete las toma como apertura y cierre de código javascript, lo que ocasiona un conflicto con las otras etiquetas script que las envuelven.