window.onload

if (typeof window.onload != 'function') { window.onload = func; } 5

else {
window.onload = function() 
{
oldonload();
func();
}
}这两段代码什么意思
1147740295  |  浏览 4356 次  |举报
我有更好的答案
推荐于2016-05-17 20:43:03 最佳答案
window.onload可以是一个函数。
如果是,这个函数将在页面加载完成之后被执行。
这里typeof是检测类型,函数的类型就是"function"这个字符串。
那么,如果(typeof window.onload != 'function')也就是说window.onload还没有被赋值,就直接把它赋值为func。否则,说明有程序先对其赋值了,那么在页面加载完成之后,应该先执行现有函数再执行自己的新的func。这里现有函数是oldonload()有问题,因为没有赋值。应该是:
else {
var oldonload = window.onload;
window.οnlοad=function(){oldonload();func();}
}
这里先用oldonload变量把现有的window.onload存下来。然后【应该先执行现有函数再执行自己的新的func】是两件事。为了按顺序完成两件事,所以这里又多写了一个函数,函数内容是{oldonload();func();}然后这个函数被赋值给了window.onload。
发布评论
window.onload_第1张图片 lpandxhj | 2012-11-23 13:53
答得太好了,怒赞^ω^ 回复
window.onload_第2张图片 lpandxhj | 2012-11-23 13:53
o(≧ v ≦)o~~答得好棒 回复

你可能感兴趣的:(js)