>  기사  >  웹 프론트엔드  >  사용자 정의 setTimeout 및 setInterval을 사용하여 매개변수 및 객체 매개변수_javascript 기술 전달

사용자 정의 setTimeout 및 setInterval을 사용하여 매개변수 및 객체 매개변수_javascript 기술 전달

WBOY
WBOY원래의
2016-05-16 18:53:491057검색

/**************************************************** * **
//
// 함수: window.setTimeout을 매개변수와 객체 매개변수를 전달할 수 있도록 수정
// 사용방법: window.setTimeout(콜백함수, 지연시간, 매개변수1, 매개변수 n )
//
**************************************** ******** *************/
var mySetTimeOut = setTimeout;
window.setTimeout = function(callback, timeout)
{
var args = Array.prototype.slice.call(arguments, 2 );
function callFn(){callback.apply(null, args);}
return mySetTimeOut(callFn, timeout)
}
/**************************************************** * **
//
// 함수 : window.setInterval이 매개변수와 객체 매개변수를 전달할 수 있도록 수정
// 사용방법 : window.setInterval(콜백함수, 간격시간, 매개변수1, 매개변수 n )
//
**************************************** ******** *************/
var mySetInterval = setInterval;
window.setInterval = function(callback, 간격)
{
var args = Array.prototype.slice.call(arguments, 2)
function callFn(){callback. apply(null, args);}
return mySetInterval(callFn, 간격);
}
// 테스트 코드가 객체를 전달합니다
// 일반 매개변수에 대한 예가 없습니다
var obj = { 높이: 40px;}
var testTimeout = testInterval = null;
function test(obj)
{
alert(obj.height);
clearSetTimeOut(testTimeout); clearInterval( testInterval);
}
var testTimeout = window.setTimeout(test, 100, obj);
var testInterval = window.setInterval(test, 100, obj); IE와 Firefox를 사용합니다. 그리고 ClearSetTimeOut 및 ClearInterval을 사용하여 지울 수 있습니다. 이는 원래 setTimeout 및 setInterval보다 훨씬 편리하며 매개변수는 객체일 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.