I put blocks which use jQuery in the body of one (and only one) cshtml file which uses the template and they causes error because jQuery is not loade
If the script is at the top of the page, and there are problems then it may cause the page to stop/take a long time loading. Putting them at the bottom allows the page the render fully before your scripting goes to work.