zoukankan      html  css  js  c++  java
  • setInterval,setTimeout的用法

    自定义一个函数:

    1 function myFunc(){
    2 //do somthing;
    3  }
    4
    5  function myFunc2(data){
    6 do something;
    7 }

    调用第一个函数这三种写法:

    setInterval(myFunc,1000);

    setInterval("myFunc()",1000);

    第三种是匿名函数,也就是说不要自定义了:setInterval(function(){...;},1000);

    而调用第二个函数显然第一种调用法就失效了,因为没法送参数,除非你把参数都默认了,不然只有在调用的时候把参数送进去:

    setInterval("myfunc2('aaa')",1000);

    假如参数是一个元素/对象的话呢?以jQuery为例:

    setInterval("myfunc2($('#txtmsg'))",1000);

    原生js当然一样:

    setInterval("myFunc2(getElementById('txtmsg'))",1000);

    ====补充

    经反复实验,如下用法均可行:

    代码
    1 <script type="text/javascript">
    2 var a="3",b="4", c;
    3 onload=function(){c=document.getElementById('t1').value;}
    4 function getc(){return document.getElementById('t1').value;}
    5 function test(a,b){alert(a+b);}
    6 function test2(a){alert(a.value);}
    7 // setTimeout(test(a,b),1000);
    8   // setTimeout(test(3,"4"),1000);
    9   // setTimeout("test(a,b)",1000);
    10 // setTimeout("test(document.getElementById('t1').value,2)",1000);
    11 // setTimeout(test(document.getElementById('t1').value,2),1000);//错误
    12 //setTimeout("test(c,b)",1000);
    13 // setTimeout(test(c,b),1000);//提示C未定义
    14 // setTimeout(test(getc(),b),1000);//错误
    15 // setTimeout("test(getc(),b)",1000);
    16 // setTimeout("test2(document.getElementById('t1'))",1000);
    17 //setTimeout(test2(document.getElementById('t1')),1000);//错误
    18 </script>
    可见,带了参数的调用方法很是灵活,而且用引号传递的话,会比直接传递函数对象适用范围广很多,

    上例中,凡是出错的地方,全在传递对象的时候

  • 相关阅读:
    找回感觉的练习
    第四次博客作业-结对项目
    zookeeper启动脚本
    docker自己制作centos7-jdk1.8-tomcat8
    Docker运行springboot的项目
    从list中模糊查询字符串
    Java实现文件下载
    hadoop的HA集群搭建
    oauth2 feign 报401的错误
    SpringBoot mybatis 自定义分页插件 注解版
  • 原文地址:https://www.cnblogs.com/walkerwang/p/1729910.html
Copyright © 2011-2022 走看看