等待加载 DOM

<head> 部分中包含与 DOM 交互的 <script> 代码时,请使用 DOMContentLoaded。如果没有包含在 DOMContentLoaded 回调中,代码会抛出错误

看不懂什么的 null

document.addEventListener('DOMContentLoaded', function(event) {
    // Code that interacts with DOM
});

https://html.spec.whatwg.org/multipage/syntax.html#the-end

DOMContentLoaded 的替代品

另一种选择(适用于 IE8

// Alternative to DOMContentLoaded
document.onreadystatechange = function() {
    if (document.readyState === "interactive") {
        // initialize your DOM manipulation code here
    }
}

https://developer.mozilla.org/en/docs/Web/API/Document/readyState