Anti-shake y estrangulamiento son métodos comunes utilizados para la optimización del rendimiento durante el desarrollo front-end:
Función antivibración (rebote):
función _debounce (fn, delay) {
var delay = delay || 200;
fueron horas;
función return () {
var th = this;
var args = argumentos;
if (temporizador) {
clearTimeout (temporizador);
}
timer = setTimeout (function () {
timer = null;
fn.apply (th, args);
}, delay);
};
}
Función del acelerador (acelerador):
function _throttle (fn, intervalo) {
var last;
temporizador var;
intervalo var = intervalo || 200;
función return () {
var th = this;
var args = argumentos;
var ahora = + nueva Fecha ();
if (último && ahora - último <intervalo) {
clearTimeout (temporizador);
timer = setTimeout (function () {
last = now;
fn.apply (th, args);
}, intervalo);
} else {
last = ahora;
fn.apply (th, args);
}
}
}