我近期原创帖之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的代码
如果你能一次无调试的情况下写对的话,说明你很不错了

相关文章推荐

onload事件和js的defer设置

onload事件在html文档中所有的节点都下载完成后执行,包括js,css,图片的资源完全下载后才执行。如果js 设置了defer之后,js的解析执行在浏览器生成了html文档后执行,不包括图片的资...
  • kkdelta
  • kkdelta
  • 2014年12月26日 16:56
  • 2386

ie attachEvent this代表window

解决IE中attachEvent函数的this指针问题绑定事件,IE使用attachEvent,FF使用addEventListener,除了函数名、参数的不同,还有个关于this指针的差异。在FF中...

密码攻防,教你更深刻理解windows

  • 2010年03月08日 19:17
  • 1.1MB
  • 下载

window.onload

  • 2015年07月09日 16:31
  • 655B
  • 下载

《代码大全》学习笔记(2):利用隐喻对编程进行更深刻的理解

2.1 隐喻的重要性        重大发现往往是从类比中产生的。通过把一个你所陌生的事物与你所熟知的事物比较,你会对它有进一步的认识,从而形成你对它的独到的深刻理解,这种隐喻方法被称之为“模型化”...
  • zhouzxi
  • zhouzxi
  • 2013年03月06日 19:36
  • 1556

BaseAdapter的getView()与ViewHolder的两种写法-更深刻理解ViewHolder

普通android基础书上都会写这种: private class HomeAdapter extends BaseAdapter{ ...... @Override ...
  • harrain
  • harrain
  • 2016年12月09日 17:19
  • 108

js中window.createPopup()方法以及attachEvent("onmouseover",OverFuncOne)实例

Internet Explorer 5.5支持一个新的window对象的方法:creatPopup()。你可以向下面一样创建一个弹出窗口:   var popupObj = window.cr...

每次复习理解更深刻:C#属性、字段、变量

c#的字段就是指私有域(变量)class A{int i;public int I{get{....}set{....}}  }其中,i是字段,I是属性, 字段是属于一个类的,在类中定义(注意:是类中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我近期原创帖之1(看谁理解更深刻,关于defer,attachEvent,window.onload....)
举报原因:
原因补充:

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