初学者的问题永远是比较有创造力的。就好像本文将要讨论的这个事,对于很多人来说都是从没想过的问题,但是当我被一个初学的朋友问到这个问题的时候,我发现:细论起来,居然还真有那么点道道。
javascript代码放在页面的什么位置?主要还是看代码究竟拿来干什么用。我总结了如下几种情况:
1、集中定义函数、声明变量,通常放在<head>...</head>之间。这个比较容易理解,就不多说了。
2、页面功能预先初始化,通常放在<body>标签内部,用onload句柄来调用。比如计时器、统计参数等,大都需要在刚载入的时候初始化。
3、控制某个对象的javascript代码,放在该对象的代码后面。比如你要控制一个div,让其显示某些特定内容,代码应该这样写。
<div id="divid">...</div>
<script language="javascript">
document.getElementById("divid").innerHTML="要显示的内容";
</script>
为什么要把javascript写在对象后面?因为只有这个对象已经被载入了,你才能对它进行操作,如果把javascript放到前面,被操作的对象还没载入,它操作谁去?
4、对于需要等待载入的对象操作代码,建议放在页面最底部,但是即使这样也必须考虑到没有载入成功的情况。比如图片,可能受网速影响较大,有时候页面底部已经载入完毕,图片还没就绪,造成javascript不能执行。这时候就需要判断一下,对象的状态是不是已经完毕,如果状态不是“完毕”,则设置一个计时器,过一会再执行doit=setTimeout("do()",1000)。如果编写成函数的话,就成为一个递归效果,不断的验证、延时,直到对象的状态是“完毕”,再执行操作,然后清除定时器:clearTimeout(doit)。
5、响应鼠标事件的函数,在鼠标触发的地方调用。这个也比较好理解,比如onmonseover,onclick之类的。