跳到主要内容

请区分解释 window. onload和 onDocumentReady?

参考答案:

window.onload$(document).ready() 都是 JavaScript 中的事件处理程序,用于在特定条件下执行代码,但它们之间存在一些重要的差异。

  1. window.onload

window.onload 是一个原生 JavaScript 事件,当整个页面(包括所有依赖的图像、样式表、脚本等)完全加载后,该事件会被触发。这意味着,如果你的页面有很多图像或外部资源,window.onload 可能需要等待这些资源全部加载完成才会执行。因此,如果你希望在页面加载完成后立即执行某些操作,但又不依赖于这些外部资源,使用 window.onload 可能会导致不必要的延迟。

使用 window.onload 的一个例子:

window.onload = function() {
    // 页面已经完全加载,包括所有图像和依赖项
    console.log("页面已完全加载");
};
  1. $(document).ready()

$(document).ready() 是 jQuery 提供的一个方法,它在 DOM(文档对象模型)加载完成后立即执行,而不需要等待所有的图像、样式表、脚本等外部资源加载完成。这意味着,如果你的脚本在 $(document).ready() 中,那么它会在页面解析到 <script> 标签并准备执行 JavaScript 代码时立即执行,而不需要等待所有外部资源。

使用 $(document).ready() 的一个例子:

$(document).ready(function() {
    // DOM 已经加载完成,但不一定所有的图像和依赖项都已加载
    console.log("DOM 已加载完成");
});

总的来说,window.onload$(document).ready() 的主要区别在于它们何时触发:window.onload 在整个页面(包括所有外部资源)加载完成后触发,而 $(document).ready() 在 DOM 加载完成后立即触发。因此,你应该根据你的具体需求来选择使用哪一个。