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();

  • 相关阅读:
    cf 1155 d 最大区间和(变形 区间*x)
    俄罗斯方块的形状暴力
    cf 1160 E dp 组合数 思维
    cf 1110d dp(题目特殊性质)
    cf 1114d 区间dp 0,1标记左右
    poj 1426 bfs
    poj 1679 最小生成树是否唯一
    cf 1106e dp
    【PAT顶级】1002 Business (35分)(0/1背包,DP)
    【PAT顶级】1001 Battle Over Cities
  • 原文地址:https://www.cnblogs.com/oneroom/p/settimeoutDelayCall.html
Copyright © 2011-2022 走看看