jQuery에서 setTimeout을 사용하는 여러 가지 방법을 예시를 통해 설명하겠습니다. 먼저 테스트용 DIV 및 공개 함수를 준비합니다.
<스크립트 언어="JavaScript"> ;
functionlog(s){
$('#div_debug').append(s '
')
}
//아래 테스트용 코드는 다음과 같습니다. 여기에 배치된 주석 줄 아래에 //...
//...
원래 자바스크립트에서 setTimeout의 기본 사용법 이런 것 같아요.
//원래 자바스크립트에서 setTimeout의 기본 사용법
functionfunA(){
log('funA...');
setTimeout('funA()', 1000)
}
funA(); >
다음은 jQuery 온라인 예제에서 setTimeout을 사용하는 여러 가지 방법입니다
//jQuery에서의 사용법
functionfunA () {
log('funA...');
setTimeout('funA()', 1000)
}
jQuery(document).ready(function($ ){
//사용법 1: 외부에서 호출할 함수를 작성하여 전역 함수로 만듭니다.
funA()
//사용법 2: 괄호 없이 함수 이름을 직접 작성합니다. 허용되지 않습니다. 매개변수가 없는 함수에 적합합니다.
functionfunB(){
log('funB...')
setTimeout(funB, 1000)
}
funB();
//사용법 3: 익명 함수를 호출하여 실행되며 매개변수가 있는 함수에 적합합니다.
functionfunC(v){
log('funC...' v)
setTimeout( function(){funC(v 1)}, 1000);
}
funC(1);
//사용법 4: jQuery 네임스페이스에 함수를 추가하면 적용 범위는 다음과 같습니다. 더 넓은 광
$.extend({
funD:function(v){
log('funD...' v);
setTimeout("$.funD(" (v 1) " ) ",1000);
}
용법 2와 용법 3의 차이는 분명한데 용법 3과 용법 4의 차이점은 무엇입니까? 용법 3보다 용례 4가 더 폭넓게 적용되는 이유는 무엇입니까? 2. 차이점:
코드 복사
코드는 다음과 같습니다.
jQuery(document).ready(function($){
//사용법 3: 익명 함수 호출로 실행, 매개변수가 있는 함수에 적합
functionfunC(v){
로그 ('funC...' v);
setTimeout(function(){funC(v 1)}, 1000)
}
//사용법 4: jQuery 네임스페이스를 통해 함수 추가 더 편리하게 호출할 수 있도록
$.extend({
funD:function(v){
log('funD...' v);
setTimeout("$.funD( " (v 1) ")",1000);
/funC(1); //댓글을 삭제한 후 이 문장을 실행하면 오류가 발생합니다.
$.funD(100) //이 문장 이 둘의 차이점을 이해하셨나요?
})