zoukankan      html  css  js  c++  java
  • setTimeout 延时调用

    var cainiao= {
       name:'小马',
       gender : '男',
       showInfo : function(){
    var str = '姓名:' +  this.name ;
        str+=  ',性别:' + this.gender;
       alert(str);
    }
    }
    cainiao.showInfo();

    如果要写一个方法,来实现showInfo的延时调用

    var cainiao= {
       name:'小马',
       gender : '男',
       showInfo : function(){
    var str = '姓名:' +  this.name ;
        str+=  ',性别:' + this.gender;
        alert(str);
       },
       delayInfo: function(){
          // setTimeout('alert(this.cainiao.name)',1000);//正确
        setTimeout('this.cainiao.showInfo()',1000);// 正确
    //setTimeout('this.showInfo()',1000);//  错误
      }  
    }
    cainiao.delayInfo();
    //上面是对象实例


    //下面是构造函数
    window.objTimeoutFuncs  = [];
    window.objTimeoutIds =  [];
    function  objTimeout(obj,func,time,id){
    window.objTimeoutFuncs[id] = function(){
      func.call(obj);
    };
    window.objTimeoutIds[id] =  setTimeout('objTimeoutFuncs[\''+ id +'\']()',time);
    }
    function  clearObjTimeout(id){
    clearTimeout(window.objTimeoutIds[id]);
    }
    function  Person(name_,gender_){
    this.name = name_;
    this.gender = gender_;
    this.showInfo = function(){
      var str = '姓名:' +  this.name ;
      str+=  ',性别:' + this.gender;
      alert(str );
    };
    this.delayInfo = function(){
    objTimeout(this,this.showInfo,2000,this.name);//
      //setTimeout("this.showInfo()",1000);//出错
      //setTimeout.call(this,'this.showInfo()',1000);//出错
    };
    }
    var p1=new Person("小马","男");
    p1.delayInfo();

  • 相关阅读:
    easyUI中textbox或number的数值大小校验
    个人附加作业
    个人最终总结
    结对编程————电梯调度
    visual studio 2013的使用和单元测试
    第三次作业(二)
    团队作业之个人总结篇
    结队编程之总结篇
    电梯调度系统(界面由C图形库编绘)
    软件工程作业单词统计
  • 原文地址:https://www.cnblogs.com/oneroom/p/settimeoutDelayCall.html
Copyright © 2011-2022 走看看