•Put all <script> tags at the bottom of the page, just inside of the closing </body>tag. This ensures that the page can be almost completely rendered before script execution begins.
- JavaScript downloading and execution will block anything other things, so put javascript in the bottom of body will allow the page content rendering first. So it will give better user experience
•Group scripts together. The fewer <script> tags on the page, the faster the page can be loaded and become interactive. This holds true both for <script> tags load- ing external JavaScript files and those with inline code.
- Group resource will lead less http request, which means less http overhead.
•There are several ways to download JavaScript in a nonblocking fashion:
—Use the defer attribute of the <script> tag (Internet Explorer and Firefox 3.5+ only)
—Dynamically create <script> elements to download and execute the code
—Download the JavaScript code using an XHR object, and then inject the codeinto the page
- Labjs is the best library to do the javascritp lazy loading. It can support script parallel loading and also can define the dependency for different resources