我近期原创帖之1(看谁理解更深刻,关于defer,attachEvent,window.onload....)

原创 2006年06月02日 15:43:00

本博客停止更新,新家地址 http://ashun.cnblogs.com/

1.[共同学习]贴段代码,大家来写执行结果,看谁理解更深刻,关于defer,attachEvent,window.onload....

这个帖子总结了大部分常用的在页面加载完毕之后再执行script的代码的几种常用方法。

最后总结了window.attachEvent, <script defer>等方式加载函数的一些细节

帖子原文http://community.csdn.net/Expert/topic/4697/4697838.xml?temp=.1720087

  window.attachEvent("onload",function(){alert('attach1')})
function window.onload(){alert('window.onload')}

function window::onload(){alert('window.onload')}
<script defer> alert('defer1')</script>
<SCRIPT event=onload for=window language=JavaScript>
alert('eventfor...')
</SCRIPT>

<body  onload="javascript:alert('body onload=...')">


尤其值得注意的是:

1.window.attachEvent是随机运行的

<script>
  window.attachEvent("onload",function(){alert('1')})
  window.attachEvent("onload",function(){alert('2')})
  window.attachEvent("onload",function(){alert('3')})
  window.attachEvent("onload",function(){alert('4')})
  window.attachEvent("onload",function(){alert('5')})
  //结果肯定不是1,2,3,4,5 也不是5,4,3,2,1
</script>

2.defer 按照后后进先出的次序执行
<script defer>...</script>


原文内容:

<html>
<script>
  window.attachEvent("onload",function(){alert('attach1')})
  window.attachEvent("onload",function(){alert('attach2')})
</script>
<script>function window.onload(){alert('window.onload')}</script>
<script>       alert('normal.1')  </script>
<script defer> alert('defer1')</script>
<script defer> alert('defer2')</script>
<script>       alert('normal.2')  </script>

<SCRIPT event=onload for=window language=JavaScript>
alert('eventfor...')
</SCRIPT>

<body  onload="javascript:alert('body onload=...')">
&nbsp;
</body>
</html>

<script>alert('the last one')</script>


代码已经写得很清晰明了。
一个要求,先自己不要执行,看完代码立刻回贴写下上面代码的执行结果。
回贴后再检验自己的结果是否正确。  如果你写的结果不对,我们再聊聊。

上面代码最多最多可能弹出10个alert对话框。请把他们的弹出顺序依次写出来。

比如:  一定要在你调试之前写出来哦
attach1
attach2
window.onload
normal1
defer1
defer2
normal2
eventfor...
body onload=...
the last one...

如果你觉得某个语句不会弹出来,你就注明:(比如这样.)
defer2,normal2  不会出来

上面的几乎是大部分常用的在页面加载完毕之后再执行script的代码
如果你能一次无调试的情况下写对的话,说明你很不错了

Defer loading of JavaScript 延时加载Javascript

Defer loading of JavaScript 延时加载javascript文件 Overview Deferring loading of JavaScript functio...
  • ISaiSai
  • ISaiSai
  • 2013年05月29日 16:43
  • 968

茶花女

茶花女    作者:小仲马    一    我认为只有在深入地研究了人以后,才能创造人物,就像要讲一种语言就得先认真学习这种语言一样。    既然我还没到能够创造的年龄,那就只好满足于平铺直叙了。  ...
  • sbfj_87
  • sbfj_87
  • 2008年10月27日 14:09
  • 2342

js中defer和async的区别

js中defer和async学习总结
  • liujie19901217
  • liujie19901217
  • 2016年06月30日 15:55
  • 1447

我近期的目标

感觉很久没有来csdn来了,昨天在sina blog上写了一篇心情,挺舒服的。前几天因为要忙可恶的课程设计,没有时间来更新blog,也没有时间来亲笔写,十分的惭愧。马上就暑假了,我也要去祖国的首都去看...
  • beta2
  • beta2
  • 2006年07月03日 13:57
  • 1604

关于大数据的一些个人理解

前几天商学院的校友问了我几个关于大数据的问题,一看都是非常专业且典型的问题, 相信大家听这个词听得太多了也有很多疑问,于是我总结了下自己的理解,欢迎一起讨论。 1. 现在大数据很时髦,多大的数...
  • witforeveryang
  • witforeveryang
  • 2014年12月23日 20:02
  • 1088

linux下查看所有登录用户的历史操作命令

最近服务器出现各种莫名奇怪的问题,可又查不出来到底谁干的,向度娘一问,给出了下面这位大牛的解决办法,正是我所欲也! 原文地址: http://www.cnblogs.com/gaojun/archiv...
  • aiolos1111
  • aiolos1111
  • 2016年07月25日 16:55
  • 546

理解Defer、Panic和Recover

刚开始的时候理解如何使用Defer和Recover有一点怪异,尤其是使用了try/catch块的时候。有一种模式可以在Go中实现和try/catch语句块一样的效果。不过之前你需要先领会Defer、P...
  • future_challenger
  • future_challenger
  • 2015年08月30日 15:53
  • 709

三国杀 原创之魂2016 武将技能

岑昏 吴 体力3 【极奢】出牌阶段,若你的手牌上限大于0,你可以摸一张牌,然后你本回合的手牌上限-1。结束阶段开始时,若你没有手牌,则你可以横置至多X名角色的武将牌(X为你的体力值)。 【链祸】锁...
  • cmershen
  • cmershen
  • 2016年09月05日 15:12
  • 3324

进入2016 -- 回顾我走过的编程之路

https://segmentfault.com/a/1190000004907985 我的编程之路   vczh 1 天前发布 推荐 10 推...
  • fenfeiqinjian
  • fenfeiqinjian
  • 2016年04月11日 18:39
  • 883

【原创】MVC 我之理解

  模型(Model):就是封装数据和所有基于对这些数据的操作。  视图(View):就是封装的是对数据显示,即用户界面。  控制器(Control):就是封装外界作用于模型的操作和对数据流向的控制等...
  • xkxmud
  • xkxmud
  • 2008年07月01日 14:47
  • 344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我近期原创帖之1(看谁理解更深刻,关于defer,attachEvent,window.onload....)
举报原因:
原因补充:

(最多只允许输入30个字)