setTimeout(表达式,延迟时间); 单位:ms(毫秒);1s=1000ms;  
setInterval(表达式,交互时间);   单位:ms(毫秒);1s=1000ms;  window.setTimeout()
       在执行时,它从载入后延迟指定的时间去执行一个表达式或者是函数;仅执行一次;和window.clearTimeout一起使用.window.setInterval()
       在执行时,它从载入页面后每隔指定的时间执行一个表达式或者是函数;(功能类似于递归函数);和window.clearInterval一起使用. var tt = setTimeout("showtime()",1000);//也可以写成 var tt = setTimeout(showtime,1000);
 这个表示调用showtime()方法,               //这个表示,调用一个函数名为showtime的方法他们都能表示执行的那一段代码表达式

解决方案 »

  1.   

    setInterval(aa,1000) 如果改成 setInterval(aa(),1000) ,那样就直接 执行 aa()了,而不是过1秒后执行了
      

  2.   

    setInterval(aa,1000) 
    第一个参数可以是字符串,也可以是函数
    如果是字符串,则当作javascript语句执行,和eval()差不多,执行的环境是全局,所以不能访问函数作用域的变量如果是函数,则执行该函数,可以访问该函数作用域链上的变量关于作用域的问题,可以看看http://blog.csdn.net/hzrui/archive/2009/02/27/3941137.aspx另外,函数加括弧和不加括弧的区别是一个是数据(函数可以作为数据传递),一个是函数调用(运行函数)