1 / 1 / 0
Регистрация: 30.09.2020
Сообщений: 33
|
|||||||||||
1 | |||||||||||
Синтаксис передачи функции в качестве аргумента27.07.2022, 21:03. Показов 702. Ответов 4
Метки нет (Все метки)
Я новичок в JavaScript. Плохо понимаю синтаксис(довольно странный) этого языка. Прошу помочь разобраться, что "приблизительно" делает данный кусок кода?(это чужой код, который взят из ответа на вопрос, на другом форуме):
1)мы вызываем функцию chrome.experimental.socket.create, передаем в нее 4 параметра. 2)в качестве 4-го параметра, в нее передается результат выполнения другой функции(или не результат а только ее определение?) Назовем ее функция №2 3)в качестве "еще одного параметра" мы как бы передаем переменную socketInfo, необходимую для выполнения функции №2? 4)аналогично, в функцию №2 мы передаем 2 параметра, 2-й пар-р - результат работы функции №3, или ее определение Что все таки происходит в этом куске кода? Параметр socketInfo нуждается в объявлении, или это такой синтаксис, предполагающий, что переданное определение функции №2, используется в качестве параметра внутри chrome.experimental.socket.create, а socketInfo это как какое-то ключевое слово или что-то типа того?...
Я запутался, распутайте меня пожалуйста
0
|
27.07.2022, 21:03 | |
Ответы с готовыми решениями:
4
Синтаксис передачи функции в функцию Аналог передачи аргумента функции в С++ Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель) Передача функции в качестве аргумента |
3538 / 1368 / 379
Регистрация: 14.03.2022
Сообщений: 3,261
|
|||||||||||
27.07.2022, 21:39 | 2 | ||||||||||
Сообщение было отмечено Sergey1986 как решение
Решение
Добавлено через 5 минут Попытаюсь проиллюстрировать работу с параметром передаваемой функции
2
|
1 / 1 / 0
Регистрация: 30.09.2020
Сообщений: 33
|
|
27.07.2022, 22:11 [ТС] | 3 |
Так гораздо понятнее, спасибо! Получается, socketInfo не нуждается в объявлении, тогда вопрос: эта переменная кажется может использоваться для дальнейшей работы, наверняка он где-то хранится? Или в данной реализации(код все таки чужой), не предполагается его использование, и он сразу же уничтожается после окончания работы функции? И еще вопрос:
Здесь определение функции нигде не использует "result", это просто возможно ошибка в коде, и должен стоять другой параметр или возможно я понял не до конца...
0
|
3538 / 1368 / 379
Регистрация: 14.03.2022
Сообщений: 3,261
|
||||||
27.07.2022, 22:32 | 4 | |||||
В моем примере это значение переменной
val при передаче и собственно n , когда функция приняла как параметр.Но передать могут все что угодно. Результат вычисления или значение некой переменной... Дело в том что область видимости в JS довольно своеобразная... Значение переменной будет "жить" пока есть тот, кто на нее может ссылаться. Вот пример
n будет "жива" пока браузер или вкладку не закроют. Там в JS довольно сложный "сборщик мусора"... Добавлено через 1 минуту Да, не используется. Зачем так написали - это уже х/з...
1
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,859
|
|
27.07.2022, 23:38 | 5 |
Это коллбэк функция.
Добавлено через 48 минут Ах, речь про result. Добавлено через 5 минут Похоже, этого апи и так нет.
0
|
27.07.2022, 23:38 | |
27.07.2022, 23:38 | |
Помогаю со студенческими работами здесь
5
Цикл for в качестве аргумента функции Передача функции в качестве аргумента другой функции Использование массивов в качестве аргумента функции Передача массива в качестве аргумента функции Глобальный массив в качестве аргумента функции Передача функции в качестве аргумента массив Лямбда-функция в качестве аргумента функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |