diff --git a/JS/JS-ch.md b/JS/JS-ch.md index e2ac2e23..cbd66d2e 100644 --- a/JS/JS-ch.md +++ b/JS/JS-ch.md @@ -827,16 +827,15 @@ function debounce (func, wait = 50, immediate = true) { // 这里返回的函数是每次实际调用的函数 return function(...params) { + // 缓存参数和调用上下文 + context = this + args = params // 如果没有创建延迟执行函数(later),就创建一个 if (!timer) { timer = later() // 如果是立即执行,调用函数 - // 否则缓存参数和调用上下文 if (immediate) { func.apply(this, params) - } else { - context = this - args = params } // 如果已有延迟执行函数(later),调用的时候清除原来的并重新设定一个 // 这样做延迟函数会重新计时