Я изучаю постоянные ссылки лексической области видимости, когда дело касается памяти функций в JS. Это заставило меня задуматься о том, что на самом деле делают круглые скобки, когда дело доходит до вызовов функций.
Если я сохраняю функцию внутри переменной, эта переменная содержит / имеет доступ к определению функции и возвращаемому значению, правильно?
Итак, когда механизм JS видит () после метки функции, он знает, что нужно вызвать функциональность, связанную с этой меткой, и соответственно выполняет, создавая возвращаемое значение.
Пожалуйста, дайте мне знать, если мне что-то не хватает с этим logi c. Спасибо!
function myFunc() {
let x = 0;
function inner() {
x++;
};
return inner;
}
let another1 = myFunc(); // stores the functionality of inner();
another1(); // JS engine runs inner() which increments and stores the value of x to be used again;