Показать сообщение отдельно
  #6 (permalink)  
Старый 07.02.2021, 23:30
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

Вот это
(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.
Ответить с цитированием