From 1e922c8a663f5d39a9a815b69849411179cf06cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=87=AA=E5=BA=A6=E5=90=9B?= Date: Tue, 12 Feb 2019 11:23:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B2=E6=8A=96=E5=87=BD=E6=95=B0=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JS/JS-ch.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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),调用的时候清除原来的并重新设定一个 // 这样做延迟函数会重新计时