这是一段javascript代码。初学javascript和dom,说实话我有点不太懂。请教各位详细分析一下。多谢啦。function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
window.onload属性委托了自动执行的函数(即参数func)这个函数也支持添加多个函数(func)的写法
//为文档增加一个事件,该事件在文档完全加载完成后执行。
function addLoadEvent(func) {
var oldonload = window.onload; //获得文档的onload事件
if (typeof window.onload != 'function') { //如果用户没有定义onload事件
window.onload = func; //将func绑定到onload
} else { //如果用户已经定义了onload事件
window.onload = function() { //重新定义onload事件
oldonload(); //先执行原来的事件
func(); //再执行func
}
}
}
先谢谢两位的帮助。尤其是xmily的解答。我觉得我理解的不够透彻。希望得到纠正。下面是一些疑问:var oldonload = window.onload; //网上说window.onload是"窗口加载"。问:按xmily的说法就是onload事件赋给oldonload变量?
if(typeof window.load != 'function')//判断window.load事件的类型,如果它不是'函数'(function),则... 问:window.load应该是什么类型?
window.load=func //把func的值赋给window.load, 问:这里的func指的是什么?
else //如果window.load的类型是function
window.onload = function() { //问:这句怎么理解?
注:typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."多谢大家的解答啊。