带有动态参数的Javascript去盎司回调函数
因此,对于一个功能,我必须使用javascript去盎司函数,它如下所示:带有动态参数的Javascript去盎司回调函数,javascript,callback,debounce,Javascript,Callback,Debounce,因此,对于一个功能,我必须使用javascript去盎司函数,它如下所示: $.debounce = function (func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate)
$.debounce = function (func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
var print_debounce = $.debounce(print_something, 100);
And then I can use
print_debounce();
我不熟悉回调函数,刚刚意识到,这个函数返回一个我可以调用的函数。但我不能直接打电话给它。但是,我希望有动态参数,而不是每次都创建一个新的变量函数对象
例如,我想调用我的函数
function print_something(){
// prints something
}
我会这样做:
$.debounce = function (func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
var print_debounce = $.debounce(print_something, 100);
And then I can use
print_debounce();
但我想让印花更具活力
例如(不起作用)
有没有办法这样做
谢谢大家! 我找到了一种方法,但它不是很具体,可能比它应该的更复杂
var debounce_function = function (func, wait, immediate) { return $.debounce(func, wait, immediate); };
debounce_function(print_something, 1000, false).call();
什么是
var print_debounce()代码>??您可以使用任意数量的参数调用函数_debounce
,只需打印_debounce();我无法调用函数_debounce,不知何故我选择了参数。有没有一种不同的方法来实现我的函数_debounce,这样它可以处理任意数量/值的参数?你可以调用print_debounce(100)
很好。但是当我创建var print_debounce=$.debounce(print_something,100)代码>我已经给出了具体的参数,所以我如何用不同的参数调用它。