为什么在首次分配时执行此函数表达式?

时间:2019-05-01 17:43:06

标签: javascript function setinterval function-expression

我突然对这个例子感到困惑:

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_setinterval_clearinterval

在脚本中

[' hello word ',' my code']

var myVar = setInterval(myTimer, 1000);

function myTimer() {
  var d = new Date();
  var t = d.toLocaleTimeString();
  document.getElementById("demo").innerHTML = t;
}

function myStopFunction() {
  clearInterval(myVar);
}

为什么当我们将整个函数分配给变量myVar时执行此setInterval(myTimer,1000)函数?因此,如果仅使用setInterval(myTimer,1000);,它将被执行,但是如果使用var myVar = setInterval(myTimer,1000);,它将同时被执行并分配给变量myVar,对吗?我可以知道背后的逻辑是什么吗?分配后,此myVar是什么?我们对此myVar使用clearInterval停止的内部逻辑是什么?非常感谢!

0 个答案:

没有答案