Please feel free to close this question if it is a duplicate(I could not find a question which exactly answers this.)
Experts always recommend to place all your javascript files at the bottom of the body tag(or just before when it is necessary). This makes sure that the other elements of the page(like css, images, etc) are not blocked due to the javascript file.
My understanding is that a browser, opens some connections for downloading the resources. It downloads a javascript file in the same way as it downloads any other resource. Once it understands its a javascript file(by looking at the type), it starts a new thread(Parser) and gives this file to the thread for parsing and interpretation. And continues to download other files. If another script is encountered, it is queued on the created thread. Is my understanding correct? Or is it that the browser starts parsing on the same thread on which the script file was downloaded and so subsequent downloads on this thread are blocked until the parsing is complete?
What happens when the javascript files comes from the browser cache? Is the behaviour different?
I hope the answers are true for all the browsers(IE, Chrome, FF)