<script type="text/javascript">
var o;
function fun()
{
o=document.getElementById(id)
}
function fua()
{
o=document.getElementById(id)
}
function fub()
{
o=document.getElementById(id)
}
</script>如代码所示 定义多个方法。 是在方法外先定义一个全局变量o好些。 还是直接在方法里面定义私有变量o好些呢?
为什么???
$=function(id){
return document.getElementById(id);
}到时候你需要用,直接作为参数传进去就可以了,$(id)返回你要的DOM节点
至于定义哪一种就要根据 lz 需要解决滴问题而定了!
如你顶楼的代码,如果定义了全局变量,每次调用不同的函数时,都会使 o 这个变量发生变化,
一旦其他地方需要一个固定的指向原来o的调用,不小心就错了;而且全局变量一直存续再内存中,直至网页关闭。
定义为局部变量则没有这个问题,函数调用结束即被清理出去。<script type="text/javascript">
var o=null;//全局
var clicknum=0;function CountClick(){
clicknum += 1;
alert("点击了"+clicknum+"次");
o=document.getElementById("a")//改变
}</script>
<div id=myid onclick="javascript:alert('我的id应该是myid。现在显示的是什么?-->: '+o.id)" >先点我没问题 click me</div>
<div id=a onclick="javascript:CountClick();">点了我再点上面就有问题 click me</div><script>
o=document.getElementById("myid")//赋值
</script>
当然,这仅仅是举例,实际使用时很少这样的用法