Что именно происходит, когда вы помещаете круглые скобки после метки функции? - PullRequest
1 голос
/ 18 июня 2020

Я изучаю постоянные ссылки лексической области видимости, когда дело касается памяти функций в 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;
...