window.onload的页面加载
大家仔细看下面两段代码,代码一的window.onload = doIt()函数后面有();而代码二的window.onload = doIt函数名后面没有括号。
把两段代码分别测试后发现不带括号的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>
Tags: JavaScript 07月 25th, 2008 Posted in JavaScript