スロットルコールの方法が来るとの手ぶれ補正機能を適用します

スロットリング

関数が頻繁に呼び出される必要がある場合は、リソースの消費を減らすために、スロットルの方法の使用を多くのリソースを消費します

機能のみを有効にするために最初にトリガされ、後者は有効にしないように、その指定された時間内です。

 // Fnが実行する機能であるために必要な遅延時間dalay 
    関数スロットル(FN、遅延){
         // 記録時は、トリガ機能
        するvar lastTime = 0 ;
         // 使用閉鎖を防止することができるように、各lastTimeの値呼び出しを初期化する0 
        戻り 関数(){
             VARの nowtime = Data.now();
             IF(nowtime-lastTime> ディレイ){
                 // この問題の固定点 
                fn.call(この);
                 // 時間同期 
                lastTime = nowtime; 
            } 
        } 
    }

シェイク

関数が頻繁にだけ有効にする最後の時間を聞かせて、必要の指定された時間内にトリガし、フロントは有効になりません。

関数デバウンス(FN、ディレイ){
         // 記録時間遅延
        するvarタイマ= NULL  // 最初のセットが空である
        リターン 関数(){      // 各コールをゼロに初期化されるタイマーを防止するために閉鎖を使用します。 
            clearTimeout(タイマ)    // クリア時間遅延
            // 新しい遅延リセット 
            タイマーのsetTimeout(= 関数(){     // 設定された遅延を 
                fn.apply(この);    // このFN補正関数ポインティング
            }、ディレイ)
        } 
    }

 

コールの機能()と()メソッドを適用

呼び出し、メソッドが指定されたオブジェクトの呼び出しに結合する具体的な方法として機能する関数プロトタイプオブジェクト、ある適用します。

同じ様式で機能は、アレイパラメータの実施形態では、数値実施例を通過呼パラメータのメソッドに渡され()を適用し、適用し、前記使用パラメータの差は、それらが送信される方法で呼び出します。

呼び出し()メソッドは、引数リストの複数を受け入れることができる(適用)メソッドのみ受信アレイまたは疑似アレイに基づくことができると、配列要素をパラメータとして呼び出される関数に渡されます。

おすすめ

転載: www.cnblogs.com/BR-Tao/p/11353795.html