ウィンドウ オブジェクトの setTimeout メソッドを使用しないのはなぜでしょうか?そうです。アプリケーションで「特定の関数の実行を遅延させる」必要が頻繁にある場合は、DRY 原則に基づいて Function グローバル オブジェクトを拡張し、関数に遅延などの遅延メソッドを追加できます。コードがより簡潔で効率的になります。
展開したサイトの関数オブジェクトに追加した遅延メソッドは以下の通りです。
Function.prototype.lay=function(this1,timeout){
this1=this1||null;
timeout=timeout||0; this;
var args=[];
//パラメータを取得します。注意: 最初と 2 番目のパラメータは予約済みパラメータです
switch(arguments.length){
case 1:
timeout= parseInt(arguments[0]);
timeout=isNaN(timeout)?0:timeout;
default:
for( var i=0;i
if(i>1){args.push(arguments[i]);}; ;
var proxy=function( ){
_this.apply(this1,args)>};
return window.setTimeout(proxy,timeout); 🎜>
Firefox の firebug プラグイン コンソールでテストします。コードは次のとおりです:
コードをコピーします
コードは次のとおりです: