碰到个更新权限的问题,后台要求更新权限后,加个1.5s的时间差,再执行下一个函数。
带参数的方法:
function A(x,y)
1、setTimeout("A('"+arg1+"',"+"'"+arg2+"',"+....+"')",3000); //不推荐这种方法,麻烦,还容易弄错
2、setTimeout(A,3000,arg1,arg2....); //第一个参数是指针,第二个是延迟执行的时间,后面紧跟着的是调用函数所执行的参数
3、setTimeout(function(){A(arg1,arg2...);},3000); //直接把要执行的函数已经参数放在匿名函数里当setTimeout的第一个参数
4、setTimeout(arguments.callee,3000,arg1,arg2....); //如果是调用自身的话可以用arguments.callee当自身指针
不带参数的方法:
a,setTimeout("alert('3秒后执行我')",3000); //直接把执行语句放在双引号里当参数
b,setTimeout(function(){alert("3秒后执行我");},3000); //直接把一个包含执行语句的匿名函数当参数
c,setTimeout(count,3000); //把指针当参数
d,setTimeout("count()",3000); //把count()函数放在双引号里当参数,相当于用eval()函数来解析他
e,setTimeout(function(){count();},3000); //把要执行的函数放在一个匿名函数里当参数
f,setTimeout(arguments.callee,3000); //如果是调用自身的话可以直接用arguments.callee方法,优于把自身函数的指针,因为arguments.callee始终指向自身,不用管函数名变动的问题。
setTimeout()只执行一次,而setInterval会一直循环,直到clearInterval()。
所以setTimeout可以做页面计时器。
function countMin() { y=y+1 document.displayMin.displayBox.value=y setTimeout("countMin()",60000) } function countSec() { x = x + 1 z =x % 60 document.displaySec.displayBox.value=z setTimeout("countSec()", 1000) }
给setTimeout命名,就可以用clearTimeout清除指定的setTimeout。