if (typeof window.onload != 'function') { window.onload = func; }
else{window.onload=function(){oldonload();func();}}这两段代码什么意思...
else {
window.onload = function()
{
oldonload();
func();
}
}这两段代码什么意思 展开
window.onload = function()
{
oldonload();
func();
}
}这两段代码什么意思 展开
1个回答
推荐于2018-05-10
展开全部
window.onload可以是一个函数。
如果是,这个函数将在页面加载完成之后被执行。
这里typeof是检测类型,函数的类型就是"function"这个字符串。
那么,如果(typeof window.onload != 'function')也就是说window.onload还没有被赋值,就直接把它赋值为func。否则,说明有程序先对其赋值了,那么在页面加载完成之后,应该先执行现有函数再执行自己的新的func。这里现有函数是oldonload()有问题,因为没有赋值。应该是:
else {
var oldonload = window.onload;
window.onload=function(){oldonload();func();}
}
这里先用oldonload变量把现有的window.onload存下来。然后【应该先执行现有函数再执行自己的新的func】是两件事。为了按顺序完成两件事,所以这里又多写了一个函数,函数内容是{oldonload();func();}然后这个函数被赋值给了window.onload。
如果是,这个函数将在页面加载完成之后被执行。
这里typeof是检测类型,函数的类型就是"function"这个字符串。
那么,如果(typeof window.onload != 'function')也就是说window.onload还没有被赋值,就直接把它赋值为func。否则,说明有程序先对其赋值了,那么在页面加载完成之后,应该先执行现有函数再执行自己的新的func。这里现有函数是oldonload()有问题,因为没有赋值。应该是:
else {
var oldonload = window.onload;
window.onload=function(){oldonload();func();}
}
这里先用oldonload变量把现有的window.onload存下来。然后【应该先执行现有函数再执行自己的新的func】是两件事。为了按顺序完成两件事,所以这里又多写了一个函数,函数内容是{oldonload();func();}然后这个函数被赋值给了window.onload。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询