初学者在看JavaScript DOM这本书。
通常对于只有一个函数要使用到事件加载处理,
方法会是:
window.onload=func1
如果会有两个或则三个这类少量的函数需要事件加载处理,
方法会是:
window.onload=function(){
func1();
func2();
func3();
}
那么对于多个函数需要如此事件加载处理:
则是使用Simon Willison写的函数--addLoadEvent. 他的这个写法是下面这样,有几行代码不太理解, 请帮忙看下。
function addLoadEvent(func){
var oldonload=window.onload;
if (typeof window.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
疑问是:
我的理解和疑问, 因为在js里任何都是对象,那么第二行就是把window.onload作为对象存储在变量oldonload里。
接着第三行判断window.onload 是否已有函数赋给它了吗? 这里的疑问是可以用oldonload替换window.onload,既然它已经赋给了oldonload. 在这里还有个小疑问,function是作为关键字的理解吗?那样的话,可以以此"!=",则把函数参数直接赋予window.onload完事。
接下来的else嵌套里,为什么还需要oldonload(), 我的理解是匿名函数里的代码一执行的话,那么函数就创建了,并赋给了window.onload。事情这样就结束了。
我是初学者,请帮忙!先谢谢各位大侠了。