日期:2014-05-17  浏览次数:21264 次

问个asp变量的问题
<script   language= "vbscript ">
dim   a1
sub   aa()
msgbox( "欢迎! ")
a1=window.settimeout( "aa() ",2000, "vbscript ")
end   sub
sub   bb()
window.cleartimeout(a1)
end   sub
</script>
<p   align=center>
<span   onclick= "aa() "   style= "cursor:hand "> 调用 </span>
<span   onclick= "bb() "   style= "cursor:hand "> 清除 </span>
</p>

请问个变量的问题

为什么BB()过程里的a1,可以清除掉aa()过程里的a1,
bb()过程里的a1变量是独立的归bb()使用
aa()过程里的a1变量也是独立的归AA()过程使用

我点按钮调用bb()过程启动了这句window.cleartimeout(a1)为什么可以清除掉
aa()过程里的a1=window.settimeout( "aa() ",2000, "vbscript ")
BB()过程里的a1变量是空值,为什么可以清除掉aa()过程里变量a1的值?
请解释解释!

还有一个问题加上dim   a1就可以清除成功,不加dim   a1就清除不成功,
我在aa()过程里使用a1是独立的过程变量和bb()过程里使用a1也是独立的过程变量
跟dim   a1全局变量没扯上什么关系啊,为什么不加dim   a1就清除不成功.


------解决方案--------------------
这样dim a1定义的是全局变量,aa()和bb()里面操作的都是这个全局变量
如果在外面定义a1,aa()和bb()操作的是各自的局部变量,当然不会互相影响