js Function对象扩展与延时执行函数实例代码

网页特效 function对象扩展与延时执行函数实例代码

function.prototype.delay=function(this1,timeout){
this1=this1||null;
timeout=timeout||0;
var _this=this;
var args=[];
//获取参数,注:第1、第2个参数是保留参数
switch(arguments.length){
case 1:
timeout=parseint(arguments[0]);
timeout=isnan(timeout)?0:timeout;
timeout=timeout<0?0:timeout;
break;
default:
for(var i=0;i<arguments.length;i++){
if(i>1){args.push(arguments[i]);};
};
break;
};
var proxy=function(){
_this.apply(this1,args);
};
return window.settimeout(proxy,timeout);
};

在firefox的firebug插件的控制台下面测试下,代码如:
复制代码 代码如下:
var xx=function(n){
this.name=n;
};
xx.prototype.hi=function(a,b){
console.log(this.name+”-”+a+”-”+b);
};
var xx1=new xx(“levin”);
var t=xx1.hi.delay(xx1,1000,”cocoa”,”yoyo”);
xx1.hi(“guluglu”,”jigujigu”);

利用window对象的settimeout方法吗?bingo,一点没错!如果你在一个应用里面常常要“延时执行某某函数”,那末基于dry的原则,可以针对function全局对象进行扩展,为函数增加一个延时方法如delay,这样会让你的代码更简洁有效。

转载请注明:爱分享 » js Function对象扩展与延时执行函数实例代码

 

http://www.ihref.com/read-12694.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值