Вот это
(function (n) {return n})(console.log(5))
вообще полная ерунда
Перепишите это так
(function () {return})(console.log(5))
И вы получите тот же самый результат.
Ну вы сами подумайте!
Вы объявляете функцию
function (n) {return n}
Потом ее сразу вызываете, передавая параметр console.log(5).
Сначала параметр должен быть вычислен. Он вычисляется, при этом выводит в консоль "5". Функция console.log возвращает undefined. Это значение передается в вашу функцию как параметр n. И потом возвращается.
Ну попробуйте так
(function (n) {console.log(n); return n}) (console.log(5))
Если вы хотите, что бы ВАША функция выводили значение, то надо так
(function (n) { n(5) }) (console.log)
Последний раз редактировалось voraa, 07.02.2021 в 23:37.
|