js中油门函数的问题
Problems in throttle function in js
下面的 'throttle' 代码运行良好。但我的问题是为什么我们在 throttle 函数中使用 'this' 关键字。
它究竟是什么?
请描述一下。
非常感谢
$("document").ready(function(){
$("input").keypress(throttle(function(e){
$(".div1").html($("#ip").val());
},1000))
function throttle(fn,dly){
var timer=null;
return function(){
clearTimeout(timer);
timer=setTimeout(function(){
fn.apply(this,arguments);
},dly);
}
}
});
fn
是一个函数。您可以以标准方式调用函数 - fn()
或者您可以调用 call
方法或 apply
方法。
当调用 call
或 apply
时,您可以选择第一个参数来设置可以调用函数的范围。范围也可以设置为 null
没有范围。
下面的 'throttle' 代码运行良好。但我的问题是为什么我们在 throttle 函数中使用 'this' 关键字。 它究竟是什么? 请描述一下。 非常感谢
$("document").ready(function(){
$("input").keypress(throttle(function(e){
$(".div1").html($("#ip").val());
},1000))
function throttle(fn,dly){
var timer=null;
return function(){
clearTimeout(timer);
timer=setTimeout(function(){
fn.apply(this,arguments);
},dly);
}
}
});
fn
是一个函数。您可以以标准方式调用函数 - fn()
或者您可以调用 call
方法或 apply
方法。
当调用 call
或 apply
时,您可以选择第一个参数来设置可以调用函数的范围。范围也可以设置为 null
没有范围。