手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript Function对象扩展之延时执行函数
Javascript Function对象扩展之延时执行函数
摘要:不就利用window对象的setTimeout方法吗?Bingo,一点没错!如果你在一个应用里面常常要“延时执行某某函数”,那末基于DRY的...

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

扩站Function对象增加delay方法如下:

复制代码 代码如下:

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

【Javascript Function对象扩展之延时执行函数】相关文章:

解析javascript中鼠标滚轮事件

javascript 动态添加表格行

在JavaScript中处理字符串之link()方法的使用

javascript的事件描述

JavaScript Date对象详解

JavaScript中string对象

JavaScript中的this机制

JavaScript的document和window对象详解

实现高性能JavaScript之执行与加载

学习Javascript面向对象编程之封装

精品推荐
分类导航