$(function () {
// document.getElementById('submit').addEventListener('click', debounce(submitFn));
document.getElementById('submit').addEventListener('click', submitFn.debounce(1));
})
function submitFn (val) {
console.log( $('#inputVal').val() );
console.log(this);
console.log(val);
}
Function.prototype.debounce = function () {
const Fn = this;
let flag = null;
const args = arguments;
return function () {
let firstRun = !flag;
if (flag) { clearTimeout(flag) };
if (firstRun) {
Fn.apply(this, args)
}
flag = setTimeout(() => {
flag = null;
}, 1000)
}
}
const debounce = function (Fn) {
let flag = null;
return function () {
let firstRun = !flag;
if (flag) { clearTimeout(flag) };
if (firstRun) {
Fn.apply(this, arguments)
}
flag = setTimeout(() => {
flag = null;
}, 500)
}
}
js 防抖(外包和在方法原型上防抖)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 实例属性/方法 & 静态属性/方法 实例属性/实例方法通过对象调用 静态属性/静态方法用类名直接调用 私有属性/方...
- 实例方法 构造函数中this上添加的成员,在Cat构造方法里面,定义在this中的变量和方法,只有实例才能访问到:...
- 转自:https://github.com/dreamapplehappy/hacking-with-javasc...