Почему это выражение функции выполняется при первом назначении? - PullRequest
0 голосов
/ 01 мая 2019

Внезапно я так растерялся из-за этого примера:

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

в сценарии,

var myVar = setInterval(myTimer, 1000);

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

function myStopFunction() {
  clearInterval(myVar);
}

для

var myVar = setInterval(myTimer, 1000);

Почему эта функция setInterval (myTimer, 1000) выполняется, когда мы присваиваем всю эту функцию переменной myVar?Так что, если мы просто используем setInterval (myTimer, 1000) ;, он будет выполнен, но если мы используем var myVar = setInterval (myTimer, 1000);, он будет одновременно выполнен и назначен переменной myVar, верно?Могу ли я знать, что за этим стоит логика?Что это за myVar после этого назначения?Какова внутренняя логика, которую мы используем clearInterval для этого myVar, чтобы остановить?Большое вам спасибо!

...