window.onload()与$(document).ready()的区别

本文探讨了window.onload与jQuery的$(document).ready()两种页面加载事件触发方式的不同之处,包括它们的执行时机及多次使用时的行为差异。
1、执行时机

window.onload()是在网页中所有元素包括元素的所有关联文件完全加载到浏览器后才执行的,此时javaScript此时可以访问到网页中的任何元素,而jQuery的$(document).ready()方法注册的事件处理程序,在DOM完全就需时就可以被调用。此时网页的所有元素对jQuery而言都是可以访问的,但是并不意味着这些元素的关联的文件都已经下载完毕

2、多次使用:

假使网页中有两个函数,代码如下:

function one(){
alert("one");
}

function two(){
alert("two");
}

当网页加载完毕之后,如果通过javaScript代码来分别调用这两个函数:

window.onload=one;

window.onload=two

则只会弹出第二个alert,因为javaScript的onload事件一次只能保存一个函数的引用,他会自动用后面的函数覆盖掉前面的函数,要达到两个都出发的效果,则要创建一个新的javaScript方法来实现,代码如下:

windoe.onload=function(){
one();
two();
}

运行之后会依次弹出这两个alert


而使用jQuery的$(document).ready(),代码如下:

$(document).ready(function(){
one();
})
$(document).ready(function(){
two();
})

运行之后会依次弹出这两个alert








考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参调度等方面的有效性,为低碳能源系统的设计运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发仿真验证。
`window.onload` 和 `$(async () => {` 是 JavaScript 中用于在特定时机执行代码的两种不同方式,它们存在以下区别: ### 触发时机 - **`window.onload`**:该事件会在整个页面(包括所有资源,如图片、样式表等)完全加载完成后触发。这意味着只有当页面上的所有元素都被下载并渲染完毕,才会执行 `window.onload` 中的代码。示例代码如下: ```javascript window.onload = function() { console.log('页面所有资源加载完成'); }; ``` - **`$(async () => {`**:这是 jQuery 中的 `$(document).ready()` 方法的异步函数写法。`$(document).ready()` 会在 DOM 树构建完成后立即执行,而不需要等待所有资源(如图片)加载完成。示例代码如下: ```javascript $(async () => { console.log('DOM 树构建完成'); }); ``` ### 依赖情况 - **`window.onload`**:属于原生 JavaScript 的事件,不依赖任何第三方库,可直接在纯 JavaScript 项目中使用。 - **`$(async () => {`**:依赖 jQuery 库,若项目中未引入 jQuery,代码将无法正常工作。 ### 代码执行顺序 - **`window.onload`**:由于要等待所有资源加载完成,执行时间可能会较晚。如果页面包含大量图片或其他大型资源,`window.onload` 中的代码可能会延迟执行。 - **`$(async () => {`**:因为只等待 DOM 树构建完成,通常会比 `window.onload` 更早执行,能让用户更快地页面进行交互。 ### 异步处理 - **`window.onload`**:本身不具备异步处理能力,若要处理异步操作,需手动编写异步代码,如使用 `Promise`、`async/await` 等。 - **`$(async () => {`**:可以结合 `async/await` 语法,方便地处理异步操作。例如: ```javascript $(async () => { try { const response = await fetch('https://example.com/api'); const data = await response.json(); console.log(data); } catch (error) { console.error('请求出错:', error); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值