1 초 마다 함수 자동 실행 (JavaScript)

4487 단어 JavaScript
1. setInterval () - 1 초 마다 자동 실행 방법, setInterval 방법 이나 문자열, 밀리초, 매개 변수 배열 (방법의)

  
    
var c = 0 ;
function showLogin()
{
alert(c
++ );
}
setInterval(
" showLogin() " , " 1000 " );

2. setTimeout 방법: 지연 시간 / 상호작용 시간 은 호 초 단위 (1000 ms = 1s) setTimeout  실행 할 때 불 러 온 후에 지정 한 시간 을 지연 시 킨 후에 표현 식 을 한 번 실행 합 니 다. setTimeout 을 한 번 만 실행 할 때 불 러 온 후에 지정 한 시간 마다 표현 식 을 실행 합 니 다.
   (1), setTimeout () 의 js 클래스 에서 의 사용 방법          (2)、 setTimeout (표현 식, 지연 시간)   (3)、 setTimeout (표현 식, 대화 시간)
 
setTimeout 이 실 행 될 때 불 러 온 후 지정 한 시간 마다 표현 식 1 을 실행 합 니 다. 기본 용법:   코드 실행:   var i=0;   setTimeout("i+=1;alert(i)",1000);   함수 실행:   var i=0;   setTimeout(function(){i+=1;alert(i);},1000);      //위의 두 가지 방법의 차 이 를 비교 하 는 것 에 주의해 라.   다음 실행 함수 의:   var i=0;   function test(){       i+=1;       alert(i);   }   setTimeout("test()",1000);   이렇게 할 수도 있다.   setTimeout(test,1000);   요약:   setTimeout 의 원형 은 다음 과 같 습 니 다.   iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])     setTimeout 은 두 가지 형식 이 있 습 니 다.  setTimeout(code,interval)  setTimeout(func,interval,args)  그 중 code 는 문자열 입 니 다.  func 는 함수 입 니 다.  "함수" 의 의 미 를 주의 하 십시오. 한 문장 이 아니 라 표현 식 입 니 다.  예 를 들 어 당신 은 주기 적 으로 함 수 를 실행 하고 싶 습 니 다.  function a(){      //...  }  쓰다  setTimeout("a()",1000)  혹시  setTimeout(a,1000)  여기 주의 두 번 째 형식 중 a 입 니 다. a () 로 쓰 지 마 세 요. 기억 하 세 요!!  펼 쳐 보면, 여기에 쓴 것 이 무엇 이 든, 변수 라면, 함 수 를 가리 키 는 변수 일 것 입 니 다. 함수 라면, 반환 값 은  함수  2, setTimeout 으로 setInterval 기능 구현 (일정 시간 마다 함수 자동 실행)    사고방식 은 매우 간단 하 다. 바로 한 함수 에서 끊임없이 자신 을 호출 하여 집행 하 는 것 이 마치 귀환 하 는 것 같다    var i=0;    function xilou(){        i+=1;        if(i>10){alert(i);return;}        setTimeout("xilou()",1000);        //이것 괜찮아요?        //setTimeout(xilou,1000);    }        3, 클래스 에서 setTimeout 사용    드디어 본론 이 되 었 습 니 다. 사실 클래스 에서 여러분 이 직면 한 문 제 를 사용 하 는 것 은 모두 this 에 관 한 것 입 니 다. 이 this 문 제 를 해결 하면 모든 일 은 걱정 이 없습니다. 하하. 분석 해 보 겠 습 니 다.        function xilou(){        this.name="xilou";        this. sex = "남";        this.num=0;    }    xilou.prototype.count=function(){        this.num+=1;        alert(this.num);        if(this.num>10){return;}        //다음은 네 가지 방법 으로 테스트 하고 하나씩 돌아 가면 서 테스트 한다.        setTimeout ("this. count ()", 1000); / / A: 아래 x. count () 호출 시 오류 가 발생 합 니 다. 대상 은 이 속성 이나 방법 을 지원 하지 않 습 니 다.        setTimeout ("count ()", 1000); / / B: 오류 표시: 대상 이 없습니다.        setTimeout (count, 1000); / C: 오류 표시: 'count' 가 정의 되 지 않 았 습 니 다.        //다음은 네 번 째.        var self=this;        setTimeout (function () {self. count ();}, 1000); / / D: 정확            }        var x=new xilou();    x.count();        오류 분석:    A: 중의 this 는 사실 window 대상 을 말 하 는데 현재 인 스 턴 스 대상 을 말 하 는 것 이 아 닙 니 다.    B: C: 와 의 count () 와 count 는 사실 하나의 count () 라 는 함 수 를 가리 키 지만 window. count () 일 수도 있 습 니 다. window. count () 는 count () 로 생략 할 수 있 기 때 문 입 니 다.    D: 변 수 를 self 로 현재 인 스 턴 스 대상 을 가리 키 면 js 분석 엔진 은 this 가 누 구 를 가리 키 는 지 혼합 하지 않 습 니 다.        그 나 저 나 setTimeout ("this. count ()", 1000) 의 this 가 window 대상 을 가리 키 는 것 은 알 지만 왜 그런 지 모르겠다.    window 대상 ^ ^ (어 지 러 운 데...)    그러면 우 리 는 이 setTimeout 이 어떻게 정의 되 었 는 지 상상 할 수 있다.    setTimeout 은 window 의 한 방법 으로 모두 다음 과 같다. window. setTimeout ()    그것 은 이렇게 정의 되 어야 한다.    window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){        //.....코드        return timer / / 태그 문자 되 돌려 주기    }    그래서 setTimeout () 에 this 를 들 어 올 때 당연히 현재 대상 window 를 말 합 니 다.

좋은 웹페이지 즐겨찾기