window.onload与body onload (一)

一、body.onload

1.1onload的基本格式:

<html>
<head>
<script type="text/javascript">
function bol(){
	alert("body");
}
</script>
</head>
<body οnlοad="bol();">
</body>
</html>

 

1.2 延迟加载:

<html>
<head>
</head>
<body οnlοad="bol();">
<script type="text/javascript">
function bol(){
	alert("body");
}
</script>
</body>
</html>

  输出:body

 

  结论:body.onload是document加载结束后触发的事件。

 

1.3代码的重载:

 

<html>
<head>
<script type="text/javascript">
function bol(){
	alert("body1");
}
</script>
</head>
<body οnlοad="bol();">
<script type="text/javascript">
function bol(){
	alert("body2");
}
</script>
</body>
</html>

 输出:body2

 

 结论:js函数的重载,是完全覆盖之前的版本。执行最新的版本。

 

1.4多次处理:

<html>
<head>
<script type="text/javascript">
function bol1(){
	alert("body1");
}
</script>
</head>
<body οnlοad="bol1();bol2();">
<script type="text/javascript">
function bol2(){
	alert("body2");
}
</script>
</body>
</html>

 输出:body1->body2

 

 结论:可以写多个函数,来供我们处理需求和调用。

 

二、window.onload

2.1基本格式:

<html>
<head>
<script type="text/javascript">
window.onload = function(){
	alert("window");
}
</script>
</head>
<body>
</body>
</html>

 输出:window

 

 

2.2

<html>
<head>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
	alert("window");
}
</script>
</body>
</html>

 输出:window

 

 结论:window.onload事件是document加载结束之后才触发。

 

2.3

<html>
<head>
<script type="text/javascript">
window.onload = function(){
	alert("window1");
}
</script>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
	alert("window2");
}
</script>
</body>
</html>

 输出:window2

 

 结论:我把这种定义onload的事件处理方式叫:匿名式。匿名式的代码会发生覆盖,后者执行。

 

2.4 懒汉式:

<html>
<head>
<script type="text/javascript">
window.onload = wol;
function wol(){
	alert("window1");
}
</script>
</head>
<body>
<script type="text/javascript">
window.onload = wol;
function wol(){
	alert("window2");
}
</script>
</body>
</html>

 

<html>
<head>
<script type="text/javascript">
window.onload = wol1;
function wol1(){
	alert("window1");
}
</script>
</head>
<body>
<script type="text/javascript">
window.onload = wol2;
function wol2(){
	alert("window2");
}
</script>
</body>
</html>

 

输出:window2

 

 结论:我把这种window.onload的处理定义方式叫做懒汉式,是因为它并不会立即执行定义,而是会发生代码的覆盖。只执行最后的代码。相比这种定义,还有一种饿汉式。

 

2.5饿汉式

<html>
<head>
<script type="text/javascript">
function wol1(){
	alert("window1");
}
window.onload = wol1();
</script>
</head>
<body>
<script type="text/javascript">
function wol2(){
	alert("window2");
}
window.onload = wol2();
</script>
</body>
</html>

  输出:window1->window2

  结论:饿汉式会立即执行。其代码执行的时机就是加载的时刻。看下面的代码也许就更清楚了:

  

<html>
<head>
<script type="text/javascript">
alert(1);
function wol1(){
	alert("window1");
}
window.onload = wol1();
</script>
</head>
<body>
<script type="text/javascript">
function wol2(){
	alert("window2");
}
alert(2);
window.onload = wol2();
</script>
</body>
</html>

 输出:1->window1->2->window2 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值