首页 > 代码库 > setTimeout()和全局变量的进一步理解

setTimeout()和全局变量的进一步理解

首先区别一下setInterval() 和 setTimeout() 的区别

 setInterval()只要不清除是可以一直执行下去的,但是setTimeout()在不清除的情况下也只能执行一次

下面是体现案列:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>撤回案例</title>
 </head>
 <body>
  <input type = "button" value = http://www.mamicode.com/"执行"  onclick = "excute(‘e‘)">
  <input type = "button" value = http://www.mamicode.com/"撤回" onclick = "excute(‘s‘)">

  <script type = "text/javascript">
    //全剧变量在函数中的值可以在另一个函数中使用
    //也就是说全局变量在一个栈中的值,可以在另一栈中使用
    var timeId = null;
    function excute( para){
        //第一个参数是要执行的函数(字符串形式),第二个参数是在多少毫秒后执行
        //setTimeout()函数只执行一次,执行时间是第二个参数所设定的时间
        if(para=="e"){
            timeId = window.setTimeout("showText()",5000);
        }
        else if(timeId!=null&&para=="s"){
            //清除定时器
            window.clearTimeout(timeId);
        }
    } 
    function showText(){
            alert("AD");
    }
  </script>
 </body>
</html>

这里使用了面向对象思想中的多态。

 

初学,有错误请指出,不胜感激!

setTimeout()和全局变量的进一步理解