<!DOCTYPE html><html><head> <title></title> <script type="text/javascript"> function addLoadEvent(func){//记为① var oldonload=window.onload; if(typeof window.onload!='function'){ window.onload=func; }else{ window.onload=function(){ oldonload(); func(); } } } addLoadEvent(a);//记为② function a(){//记为③ alert(document.getElementById('text')); b(); } function b(){//记为④ alert(document.getElementById('div0')); } </script></head><body> <p id="text">hello</p> <div id="div0">world</div></body></html>JS的执行顺序是怎样的呢?我的理解是1、先装载函数,即①-③-④,然后执行②2、装载①的情况不太清楚,不过好像此时并不会加载body内容;3、装载③时获取不到id为text的DOM元素4、装载④时获取不到id为div0的DOM元素5、执行②时,调用① window.onload=a; 即body内容加载完后调用③,如果装载函数的时候没有获取到id为text的DOM元素,最后却获取到了,那,这是因为重新获取了一遍吗?也就是说装载时获取一遍,调用时又获取一遍吗?还是上边的3我判断有问题?6、调用③时里边又调用了④,与5有同样的疑问,调用的时候重新获取了一遍吗?有大神讲解一下吗?好像知道代码是如何运行的
添加回答
举报
0/150
提交
取消