Gabarito: c)
Javascript é uma técnica de programação que funciona percorrendo e buscando seus alvos na árvore do documento ou no DOM. Ou seja, um script só consegue executar sua ação se todo o documento já tiver sido carregado .
Questão desatualizada. Existem técnicas para o script ser executado mesmo que o documento não tenha sido todo carregado.
"É possível tornar o script assíncrono, caso isso seja possível (i.e. não existam dependências complexas entre os diferentes scripts e/ou entre o script e os elementos da página), através dos atributos async e defer do HTML5."
"Há situações em que o script precisa ser carregado antes porque ele controlará e manipulará a carga e renderização da página, possivelmente indicando progresso."
Extensa discussão sobre o assunto: https://pt.stackoverflow.com/questions/1109/onde-devo-colocar-um-c%C3%B3digo-javascript-em-um-documento-html