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

Posted 学习丶笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setTimeout()和全局变量的进一步理解相关的知识,希望对你有一定的参考价值。

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

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

下面是体现案列:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>撤回案例</title>
 </head>
 <body>
  <input type = "button" value = "执行"  onclick = "excute(‘e‘)">
  <input type = "button" value = "撤回" 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()和全局变量的进一步理解的主要内容,如果未能解决你的问题,请参考以下文章

一步一步带你分析 requirejs

原生Js写轮播图代码

Javascript:如何清除非全局(封闭)setTimeout?

setTimeout

setTimeOut和闭包

自动化测试时需要使用python,请问如何理解python中的全局变量和局部变量?