Поскольку изначально я “паскалист”, то некоторые вещи в си-подобных языках не перестают меня удивлять. Например, круглые скобки в Паскале - это лишь круглые скобки. А вот в JavaScript, например, это оператор.
Что он делает? А он вызывает функцию. Пример:
Здесь в первом случае вы используем имя функции без круглых скобок. Таким образом мы работаем с функцией, но не вызываем её. И на экран будет выведен исходный код функции.
Во втором случае мы используем оператор вызова функции (), поэтому функция отработает и вернёт результат.
Оператор () необычен тем, что не имеет фиксированного количества операндов. Первый операнд - это всегда имя функции или выражение, ссылающееся на функцию. Далее следует левая (открывающая) скобка и любое количество дополнительных операндов, разделённых запятыми. Затем следует правая (закрывающая) скобка.
Оператор () вычисляет все свои операнды, а затем вызывает функцию, передавая ей операнды, указанные в скобках.
В нашем примере myFunc - это по сути переменная, связанная с функцией. Поэтому можно сделать так:
f = myFunc; //f - функция myFunc
x = myFunc(); //х - результат работы myFunc
document.write(f() + '<br>'); //100
document.write(x + '<br>'); //100
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.