关于DOM编程艺术中的一个函数的疑惑

maoyuanjun201 2012-10-10 10:16:35
下面是一段绑定初始化函数的代码,但是有点看不懂,希望大家能帮忙注释下,先谢谢啦!

/*-----------下面的每一句希望注释下--------------*/
function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
/*-----------上面的每一句希望注释下--------------*/
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
addLoadEvent(threeFunction);
function firstFunction(){
alert(11);
}
function secondFunction(){
alert(22);
}
function threeFunction(){
alert(33);
}
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
maoyuanjun201 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

JScript code
/*
* window.onload事件的扩展:允许注册多个事件,以免造成事件的覆盖
* @param {function} func
*/
function addLoadEvent(func){
var oldonload = window.onload;//如果当前window.onload中已指定事件,将其赋予oldonload保存
……
[/Quote]
呵呵,谢谢你啦,看懂了,你太厉害了!
泡泡鱼_ 2012-10-10
  • 打赏
  • 举报
回复
/*
* window.onload事件的扩展:允许注册多个事件,以免造成事件的覆盖
* @param {function} func
*/
function addLoadEvent(func){
var oldonload = window.onload;//如果当前window.onload中已指定事件,将其赋予oldonload保存
//下面的第一句:
//如果window.onload中不是函数类型,可以认为从未绑定window.onload事件,那么则直接将当前func注册进去
//换言之,如果后面再追加了一个函数进来的话,上面的oldonload就会等于此次的func了。
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();//否则,先执行以前注册进来的函数
func();//再执行此次追加进来的函数
}
}
}

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧