手机
当前位置:查字典教程网 >编程开发 >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应用中使用RequireJS来实现延迟加载

javascript基础知识分享之类与函数化

JavaScipt中Function()函数的使用教程

深入浅析JavaScript面向对象和原型函数

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

详解Javascript中的Object对象

javascript中动态函数用法

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

javascript的事件描述

精品推荐
分类导航