>웹 프론트엔드 >JS 튜토리얼 >Javascript Function 객체 Extension_javascript 스킬의 지연 실행 기능

Javascript Function 객체 Extension_javascript 스킬의 지연 실행 기능

WBOY
WBOY원래의
2016-05-16 18:23:401503검색

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;iif(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"); .delay(xx1,1000,"코코아","yoyo") ;
xx1.hi("guluglu","jigujigu")


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.