2014-11-11 7 views
0
function timerFunc() 
{ 
alert("Howdy"); 
setTimeout("timerFunc()",5000); 
} 
timerFunc(); 

이 간단한 함수는 어떤 종류의 문제를 유발하는 것 같습니다. 이유는 무엇입니까?잡히지 않은 ReferenceError : timerFunc가 정의되지 않았습니다.

내가 "catch되지 않은 오류 ReferenceError을 : timerFunc이 정의되지 않은"지고있어 크롬에 오류

+1

은 대부분의 경우 코드는 전역 범위에서 실행되고 있지 않습니다. 문자열과 함께'setTimeout'을 사용하려면 함수가 전역 범위에 정의되어 있어야합니다. –

+0

안녕하세요 펠릭스! 그걸 제대로 작동시키는 방법을 보여 주시겠습니까? 즉 글로벌 공간 –

답변

1

사용 따옴표없이 함수 이름 자체 :

function timerFunc() { 
 
    alert("Howdy"); 
 
    setTimeout(timerFunc, 5000);//<-- quotes removed 
 
} 
 
timerFunc();

또한 setInterval을 사용할 수 있습니다 반복적 인 작업 :

function timerFunc() { 
 
    alert("Howdy"); 
 
} 
 
timerFunc(); 
 
setInterval(timerFunc, 5000);

+0

안녕하세요 Arvind, 답변 주셔서 감사합니다. 아직 작동하지 않는 것 같습니다. –

+0

@Mrpoppins, 오류는 무엇인가요? 'Run code snippet'을 클릭하세요. – Arvind

+0

페이지의 다른 코드 여야합니다. 그렇지 않으면 전역 공간에 정의되어야합니다. 나는 간단한 경고 ("Howdy")를 추가하려고 시도했다. 심지어 코드로, 심지어는 작동하지 않습니다. –

0
function timerFunc() { 
    alert("Howdy"); 
} 
timerFunc(); 
setInterval(function() { timerFunc(); }, 5000); 
관련 문제