首先,我想说一下Javascript的装载和执行。通常来说,浏览器对于Javascript的运行有两大特性:


  1. 载入后马上执行
  2. 执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)。

于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行。


因为javascript可能会来操作HTML文档的DOM树,所以,浏览器一般都不会像并行下载css文件并行下载js文件,因为这是js文件的特殊性造成的。所以,如果你的javascript想操作后面的DOM元素,基本上来说,浏览器都会报错说对象找不到。因为Javascript执行 时,后面的HTML被阻塞住了,DOM树时还没有后面的DOM结点。所以程序也就报错了。所以,你知道为什么有很多网站把javascript放在网页的最后面了。因为,绝大多数的Javascript代码并不需要等。



注意:网页从上往下加载 javascript加载的顺序也是如此 执行的顺序也是如此! onload=“init()" 最后执行!