1 초 마다 함수 자동 실행 (JavaScript)
4487 단어 JavaScript
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 를 말 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.