手ぶれ補正機能:
=デバウンス(FUNC、ディレイ)=> { // 安定オフ再びN秒以内に実行した場合、トリガ後のN秒、主にリタイミングするために使用される前に、検索 のlet ID = NULL ; 戻り 関数(引数){ (args.persistを); LET = これを、_args = 引数; てclearTimeout(ID) IDがのsetTimeout(= 関数(){ func.call(すなわち、_argsを); }、ディレイ); } }
スロットル機能:
= _throttle(FUNC、ディレイ)=> { // 指定された時間内に複数回のトリガ場合スロットル規定のみ、一度に一度トリガすることができ、力への最初のエントリだけ // タイマーが解放 させ時間= (Date.now)を; 戻り 関数(引数){ args.persist(); LET = これを、_args = 引数; LET今 = Date.now(); IF(今-時間> ディレイ){ func.call(すなわち、_args) 時間 = Date.now(); } }
//タイマーバージョン // LETのID = this.id、TH =この; // 復帰機能(引数){ // =このLET、_args =引数その; // // ID = NULL各々がSETSTATE ID = nullをリセットするために決定することができない // LETのID = BOL ;! // IF(BOL){func.call(それを、_args);} // IF(th.id)=のsetTimeout(関数(th.id!){ // th.id = NULL; // ID = NULL; // }、遅延) // } }