JavaScript에서 타이머 setTimeout의 사용법은 일반적으로 다음과 같습니다. Beginrotate를 호출한 후 다음 코드와 같이 정기적으로 Rotateloop를 실행하는 프로세스에 들어갑니다.
다음과 같이 코드 코드를 복사합니다.
변수 각도 = 0;
함수 회전 루프() {
if (각도 < 360) {
각도++;
//각도 사용
//......
setTimeout("rotateloop()", 100);
}
}
함수 시작회전() {
//뭔가를 해라
//......
setTimeout("rotateloop()", 100);
}
이 코드의 한 가지 문제점은 전역 변수 각도를 생성한다는 것입니다. 이는 확실히 좋은 프로그래밍 방식이 아니므로 인라인 함수를 사용하는 방법을 고려하고 코드를 다음과 같이 변경했습니다.
다음과 같이 코드 코드를 복사합니다.
함수 시작회전() {
변수 각도 = 0;
함수 회전 루프() {
if (각도 < 360) {
각도++;
//각도 사용
//......
setTimeout("rotateloop()", 100);
}
}
//뭔가를 해라
//......
setTimeout("rotateloop()", 100);
}
이렇게 변경한 후 JavaScript에서 오류가 보고되고 회전 루프를 찾을 수 없음을 발견했습니다. 분명히 setTimeout은 회전 루프의 로컬 내장 기능을 찾지 못했습니다. 이 문제는 다음과 같이 코드를 약간 변경하여 해결할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
함수 시작회전() {
변수 각도 = 0;
함수 회전 루프() {
if (각도 < 360) {
각도++;
//각도 사용
//......
setTimeout(rotateloop, 100);
}
}
//뭔가를 해라
//......
setTimeout(rotateloop, 100);
}
setTimeout의 첫 번째 매개변수를 문자열 대신 함수 객체로 변경하면 됩니다.