Javascript的addLoadEvent函数的使用详解

来源:互联网 发布:对项羽的评价 知乎 编辑:程序博客网 时间:2024/06/06 00:09
为了解决window.onload的弊端,javascript中可以通过一下方案解决。
函数如下:
function addLoadEvent(func){  var oldonload=window.onload;  if(typeof window.onload!='function'){     window.onload=func;    }else{    window.onload=function(){      oldonload();      func();      }  }}

调用方法:addLoadEvent(func),这里的func 就是需要调用的函数。

functionaddLoadEvent(func){创建了一个函数名为addLoadEvent,参数为func的函数,这里把我们需要加载的函数作为参数在这个addLoadEvent函数中进行调用。}

var oldonload=window.onload 定义一个变量,把window.onload赋给oldonload,如果开始的时候window.onload调用了一个函数A(),那么在这里oldonload就等于A();
//typeof判断一个变量的类型,如果window.onload调用的是一个函数,那么这个if条件语句的值就是false,说明此时window.onload没有被赋值,那么就执行window.onload=func;(此时的参数func就是我们需要调用的函数)
如果条件语句的结果是true,说明此时window.onload已经被赋值,拥有需要执行的函数,那么就调用一个匿名的函数window.onload=function(){oldonload();func();}
这个匿名的函数 会先执行oldonload()函数,然后执行func()这个函数。
也就是说,会先调用 正在执行的那个函数,然后在调用我们需要调用的函数A().
0 0
原创粉丝点击