JavaScript 初始化装载方法
说到 JavaScript 的初始化装载, 可能 onload 是被立刻想到的方法. 但很遗憾, 这是最坏的选择, 我以前也一直犯过这样的错误. 为什么说它不好呢? 因为 onload 不是在 document 加载完成的时候调用的, 而是在页面所有元素 (包括图片等) 全部加载完成才会调用. 也就是说, 如果你的页面上有个尺寸很大的图片, 下载需要很长时间, 那么你的脚本就一直不能被初始化, 直到图片装载完成, 严重影响用户体验.
幸运的是, 在 W3C 中有个叫 DOMContentLoaded 的事件, 故名思意, 它会在 DOM (文档对象模型) 被加载完成的时候触发. 那么我们就可以通过下面的方法调用初始化脚本的方法了.
补充一下, JavaScript 中的 defer 属性是 IE 特有的. 它告诉浏览器, 这是一段不需要立即执行的代码, 在文档装载完毕时才被执行. 如果 src 等于 example.js, 那么 example.js 会在文档装载完成后才被装载.
其实绝大多数 JavaScript 框架已经为我们处理好了, 例如 jQuery 的 ready 方法, 只是实现方法不同而已.
用了 JavaScript 有段时间了, 却没有系统的学过, 知识点零零散散的, 所以最近买了本相关的书. 书中谈到了上述问题和解决办法, 我觉得这个方法很实用, 就简单介绍一下. 现在卖个关子, 等我看完这本书再向大家介绍一下书中的内容和知识点.