window.onload的页面加载技巧

大家仔细看下面两段代码,代码一的window.onload = doIt()函数后面有();而代码二的window.onload = doIt函数名后面没有括号。

详细出处参考:http://www.jb51.net/article/16010.htm

把两段代码分别测试后发现不带括号的window.onload在页面加载后显示了正确的效果。 我想window.onload也相当于一个触发事件,如果函数加了括号那就直接先执行函数,再加载body。而不加括号,则相当于将一个函数当作变量赋值到window.onload上,并不立即加载。


代码一:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script> 
window.onload = doIt(); 
function doIt() { 
var oDiv = document.getElementById("div1"); 
alert (oDiv); 
} 
</script> 
</head> 
<body> 
<div id="div1"></div> 
</body> 
</html> 


代码二:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script> 
window.onload = doIt; 
function doIt() { 
var oDiv = document.getElementById("div1"); 
alert (oDiv); 
} 
</script> 
</head> 
<body> 
<div id="div1"></div> 
</body> 
</html> 

你可能感兴趣的:(html,.net,XHTML)