ホームページ  >  記事  >  ウェブフロントエンド  >  カスタムの setTimeout と setInterval を使用してパラメータとオブジェクト パラメータを渡す_JavaScript スキル

カスタムの setTimeout と setInterval を使用してパラメータとオブジェクト パラメータを渡す_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:53:491079ブラウズ

/*************************************************** * **
//
// 関数: パラメータとオブジェクトパラメータを渡せるように window.setTimeout を変更します
// 使用方法: window.setTimeout (コールバック関数、遅延時間、パラメータ 1、パラメータn )
//
*************************************** ******** *************/
var mySetTimeOut = setTimeout;
window.setTimeout = function(callback, ti​​meout)
{
var args = Array.prototype.slice.call(arguments, 2) );
関数 callFn(){callback.apply(null, args);}
return mySetTimeOut(callFn, timeout)
/*************************************************** * **
//
// 関数: パラメータとオブジェクトパラメータを渡せるように window.setInterval を変更します
// 使用方法: window.setInterval (コールバック関数、インターバル時間、パラメータ 1、パラメータn )
//
*************************************** ******** *************/
var mySetInterval = setInterval;
window.setInterval = function(callback, interval)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback. apply(null, args);}
return mySetInterval(callFn, interval);
}
// テスト コードはオブジェクト
を渡します// 通常のパラメータの例はありません
var obj = { height: 40px;}
var testTimeout = testInterval = null;
関数 test(obj)
{
alert(obj.height);
clearSetTimeOut(testTimeout); clearInterval(testInterval);
var testTimeout = window.setTimeout(test, 100, obj);
var testInterval(test, 100, obj); IE と Firefox を使用します。また、clearSetTimeOut と clearInterval を使用してクリアすることもできます。これは、元の setTimeout と setInterval よりもはるかに便利で、パラメーターはオブジェクトにすることができます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。