是的,我错了,程序运行得遵循它的运行规律,违反了则无法达到预期效果!<script>是可以放在body里面运行的.传统的做法是放在body外面,这种做法的好处在于脚本的位置是可预测的——开发者知道该到何处去找它们。这种做法还有一个优点就是可以确保在文档显示之前,所有的 JavaScript 都已被加载并执行。
而这种方法的缺点则在于,你的脚本会延迟文档的显示,而且该脚本无权使用文档中的 HTML 。因此你就只得延迟所有会改变该文档 HTML 的脚本的执行,直到 HTML 文档加载完成为止。通过 onload 事件处理器或各种各样的 DOMready 或 contentAvailable 技术可以实现这一点——当然,它们都不是无懈可击的,而且其中绝大多数都依赖于特定的浏览器特性.
而这种方法的缺点则在于,你的脚本会延迟文档的显示,而且该脚本无权使用文档中的 HTML 。因此你就只得延迟所有会改变该文档 HTML 的脚本的执行,直到 HTML 文档加载完成为止。通过 onload 事件处理器或各种各样的 DOMready 或 contentAvailable 技术可以实现这一点——当然,它们都不是无懈可击的,而且其中绝大多数都依赖于特定的浏览器特性.