Skip to content

snu.throttle()

节流

节流执行:在指定的时间间隔 wait 内,无论函数被触发多少次,只执行一次(以首次触发计时,间隔到期后执行)。相同 id 复用同一套节流计时。wait <= 0 时直接立即执行。

兼容性

WebAndroid

属性

名称类型必备默认值描述
funFunction-需节流执行的函数(无参数)
waitNumber-节流时间间隔(毫秒)
idString'default'分组标识,不同 id 互不干扰

返回值

类型必备描述
Void无返回值

示例

typescript
snu.throttle(() => {
	// 高频触发时在此间隔内只执行一次
}, 200, 'scrollHandler')

snu.debounce()

防抖

防抖执行:当函数被高频触发时,仅在最后一次触发后经过 wait 毫秒才执行;期间再次触发会重置计时。相同 id 复用同一套防抖计时。wait <= 0 时立即执行。

兼容性

WebAndroid

属性

名称类型必备默认值描述
funFunction-需防抖执行的函数(无参数)
waitNumber-防抖延迟时间(毫秒)
idString'default'分组标识,不同 id 互不干扰

返回值

类型必备描述
Void无返回值

示例

typescript
snu.debounce(() => {
	// 输入停止 300ms 后执行
}, 300)

snu.clamp()

数值限制

将数值限制在指定的最小值和最大值之间。max 不传(null)时,仅保证不小于 min

兼容性

WebAndroid

属性

名称类型必备默认值描述
valueNumber-待限制的数值
minNumber-最小值
maxNumber/nullnull最大值;为 null 时不限制上限

返回值

类型必备描述
Number限制在 [min, max](或无上限 ≥ min)内的数值

示例

typescript
let v = snu.clamp(150, 0, 100)   // 100
let w = snu.clamp(-5, 0)          // 0

使用 MIT 协议