Javascript的执行要求

Javascript的执行要求,javascript,function,execution,Javascript,Function,Execution,我是Javascript新手,正在分析以下代码。我的问题是:对于setTimeout()函数,如何调用它?在我看来,它只是被分配给变量this.timer,而且它还没有被调用。但该功能仍在执行。我缺少/不理解什么?非常感谢您事先的帮助 $(document).ready(function () { var validateUsername = $('#validateUsername'); $('#username').keyup(function () { var t = this; if

我是Javascript新手,正在分析以下代码。我的问题是:对于setTimeout()函数,如何调用它?在我看来,它只是被分配给变量this.timer,而且它还没有被调用。但该功能仍在执行。我缺少/不理解什么?非常感谢您事先的帮助

$(document).ready(function () {
var validateUsername = $('#validateUsername');
$('#username').keyup(function () {
var t = this; 
if (this.value != this.lastValue) {
  if (this.timer) clearTimeout(this.timer);
  validateUsername.removeClass('error').html('<img src="images/ajax-loader.gif"      height="16" width="16" /> checking availability...');

  this.timer = setTimeout(function () {
    $.ajax({
      url: 'ajax-validation.php',
      data: 'action=check_username&username=' + t.value,
      dataType: 'json',
      type: 'post',
      success: function (j) {
        validateUsername.html(j.msg);
      }
    });
  }, 200);

  this.lastValue = this.value;
}
});
});
$(文档).ready(函数(){
var validateUsername=$(“#validateUsername”);
$('#username').keyup(函数(){
var t=这个;
if(this.value!=this.lastValue){
if(this.timer)clearTimeout(this.timer);
validateUsername.removeClass('error').html('checking availability…');
this.timer=setTimeout(函数(){
$.ajax({
url:'ajax validation.php',
数据:'action=check_username&username='+t.value,
数据类型:“json”,
键入:“post”,
成功:功能(j){
validateUsername.html(j.msg);
}
});
}, 200);
this.lastValue=this.value;
}
});
});
它叫什么名字

函数名(
setTimeout
)后面跟着一个
字符,然后是一些参数,然后是
字符

这些参数中的第一个是跨多行拆分的函数表达式

在我看来,它只是被分配给变量this.timer

正在分配其返回值(可与
clearTimeout
一起使用的标识符),而不是
setTimeout
函数本身

它叫什么名字

函数名(
setTimeout
)后面跟着一个
字符,然后是一些参数,然后是
字符

这些参数中的第一个是跨多行拆分的函数表达式

在我看来,它只是被分配给变量this.timer

正在分配其返回值(可与
clearTimeout
一起使用的标识符),而不是
setTimeout
函数本身

在指定延迟后执行代码段或函数

setTimeout
在毫秒数参数(第二个参数)之后触发给定的功能参数(第一个参数)

返回值为:

timeoutID是超时的数字ID,稍后可与window.clearTimeout一起使用

在指定延迟后执行代码段或函数

setTimeout
在毫秒数参数(第二个参数)之后触发给定的功能参数(第一个参数)

返回值为:

timeoutID是超时的数字ID,稍后可与window.clearTimeout一起使用


函数在此处调用:

this.timer = setTimeout(function() {...});

setTimout()
在延迟后执行匿名函数,同时返回其数字ID。
此。计时器
然后存储该ID,稍后可使用
clearTimeout
调用此函数:

this.timer = setTimeout(function() {...});

setTimout()
在延迟后执行匿名函数,同时返回其数字ID。
this.timer
然后存储该ID,稍后可使用
clearTimeout

确定。接下来,如果我要写一行代码,比如:var a=function(){},是执行()还是简单地定义它?非常感谢你的帮助!如果你只是给一个变量分配一个函数表达式,而不做其他事情,那么它就不会执行了。接下来,如果我要写一行代码,比如:var a=function(){},是执行()还是简单地定义它?非常感谢你的帮助!如果您只是将一个函数表达式赋给一个变量,而不执行其他操作,那么它将不会执行。