JavaScript에서 타이머 setTimeout의 사용법은 일반적으로 다음과 같습니다. Beginrotate를 호출한 후 다음 코드와 같이 정기적으로 Rotateloop를 실행하는 프로세스에 들어갑니다.
var angle = 0;
function Rotateloop() {
if (angle < 360) {
각도
//각도 사용
//......
setTimeout("rotateloop()", 100)
}
}
function startrotate() {
/ /무엇인가
//......
setTimeout("rotateloop()", 100)
}
이 코드에 문제가 있습니다. 즉, 전역 변수 각도를 생성하는 것은 분명히 좋은 프로그래밍 습관이 아니기 때문에 인라인 함수를 사용하는 것을 고려하고 코드를 다음과 같이 변경했습니다.
function Beginrotate() {
var angle = 0; >
function Rotateloop() {
if ( angle < 360) {
angle
//use angle
//......
setTimeout("rotateloop ()", 100);
}
}
//뭔가를 하세요
//...
setTimeout("rotateloop()", 100);
}
이렇게 변경됨 그 후 JavaScript에서 오류가 보고되고 회전 루프를 찾을 수 없음을 발견했습니다. 분명히 setTimeout이 로컬 내장 함수인rotateloop를 찾지 못했습니다.
function startrotate() {
var angle = 0;
functionrotateloop() {
if(angle < 360) {
angle
//사용 각도
// ......
setTimeout(rotateloop, 100);
}
}
//뭔가를 하세요
//...
setTimeout(rotateloop, 100); 🎜>}
Just setTimeout 첫 번째 매개변수를 문자열 대신 함수 개체로 변경하면 됩니다.