window 객체의 setTimeout 메소드를 사용하면 어떨까요? 빙고, 맞습니다! 애플리케이션에서 "특정 함수의 실행을 지연"해야 하는 경우가 많다면 DRY 원칙에 따라 Function 전역 객체를 확장하고 함수에 지연과 같은 지연 메서드를 추가할 수 있습니다. 귀하의 코드가 더 간결하고 효율적이게 됩니다.
확장된 사이트의 함수객체에 추가된 지연 메소드는 다음과 같습니다.
Function.prototype.delay=function(this1,timeout){
this1=this1||null;
timeout=timeout||0; this;
var args=[];//매개변수 가져오기, 참고: 첫 번째 및 두 번째 매개변수는 예약된 매개변수입니다.
switch(arguments.length){
case 1:
timeout= parseInt(arguments[0]);timeout=isNaN(timeout)?0:timeout;
timeout=timeout<0?0:timeout;
기본값:
for( var i=0;i
if(i>1){args.push(arguments[i]);}
break
} ;
var Proxy=function( ){
_this.apply(this1,args);
return window.setTimeout(proxy,timeout)
플러그인 콘솔 아래 firefox 테스트의 firebug 코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다:
} var xx1=new xx("levin"); .delay(xx1,1000,"코코아","yoyo") ;
xx1.hi("guluglu","jigujigu")