<!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有同样的疑问,调用的时候重新获取了一遍吗?
有大神讲解一下吗?好像知道代码是如何运行的
喝牛奶对身体好
pardon110