色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Javascript Function對(duì)象擴(kuò)展之延時(shí)執(zhí)行函數(shù)

不就利用window對(duì)象的setTimeout方法嗎?Bingo,一點(diǎn)沒(méi)錯(cuò)!如果你在一個(gè)應(yīng)用里面常常要“延時(shí)執(zhí)行某某函數(shù)”,那末基于DRY的原則,可以針對(duì)Function全局對(duì)象進(jìn)行擴(kuò)展,為函數(shù)增加一個(gè)延時(shí)方法如delay,這樣會(huì)讓你的代碼更簡(jiǎn)潔有效。
擴(kuò)站Function對(duì)象增加delay方法如下:
復(fù)制代碼 代碼如下:
Function.prototype.delay=function(this1,timeout){
this1=this1||null;
timeout=timeout||0;
var _this=this;
var args=[];
//獲取參數(shù),注:第1、第2個(gè)參數(shù)是保留參數(shù)
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插件的控制臺(tái)下面測(cè)試下,代碼如:
復(fù)制代碼 代碼如下:
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技術(shù)Javascript Function對(duì)象擴(kuò)展之延時(shí)執(zhí)行函數(shù),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 上虞市| 武宣县| 清镇市| 阜新| 庆城县| 项城市| 琼中| 双辽市| 同仁县| 科技| 吴旗县| 扬中市| 唐海县| 贡觉县| 景洪市| 丹江口市| 峨边| 隆化县| 彭州市| 郓城县| 崇文区| 漯河市| 渭源县| 常熟市| 深圳市| 子洲县| 文山县| 石渠县| 茶陵县| 宁明县| 商水县| 南岸区| 双桥区| 伊金霍洛旗| 惠州市| 斗六市| 海林市| 苍梧县| 肇庆市| 达州市| 樟树市|