|
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 54
|
|||||||||||
Не работает анонимная функция23.07.2019, 23:39. Показов 3918. Ответов 18
Метки нет (Все метки)
Добрый вечер, господа!
Делаю простенькие задания на JS и на одном из них встал в ступор при использовании анонимной функции
Вместо выполнения этой самой функции происходит вывод ее в параграф в виде строки. Прошу потыкать носом.
0
|
|||||||||||
| 23.07.2019, 23:39 | |
|
Ответы с готовыми решениями:
18
Анонимная самовызывающаяся функция
|
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|||||||||||
| 24.07.2019, 03:36 | |||||||||||
Сообщение было отмечено Борис Ф как решение
Решение
Борис Ф,
https://codepen.io/Mr_Sergo/pe... itors=1010
Добавлено через 2 минуты function обычно вызывается со скобками на конце, а вы в цикле вызываете все без скобок, поэтому сначала нужно проверить тип свойства а потом уже выполнять то или иное действие (со скобками или без) Добавлено через 1 час 20 минут Что бы вам было понятней -> https://codepen.io/Mr_Sergo/pe... itors=0012
0
|
|||||||||||
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
||||||
| 24.07.2019, 05:00 | ||||||
|
Чтобы присвоить результат работы функции нужно чтобы функция что-то отдала. А у вас она написана, но не вызывается, ничего не отдаёт, а сама становится значением свойства. Тогда можно сделать её самовызывающейся, то есть обтянуть скобками и подставить скобки, как бы вызывая то, что в скобках.
Но тут возникает проблема - функция использует свойство объекта, в тот момент когда самого объекта ещё нет. Он находится на стадии строительства. Тогда используем то что уже есть в этот момент - n5. И вуаля! Всё работает.
Мне больше нравится, то что предложил Mr_Sergo. Это круто и универсально.
0
|
||||||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
| 24.07.2019, 06:31 | ||||||
Сообщение было отмечено amr-now как решение
Решение
Покажу мелкие исправления, которые вроде и мелкие, но нужны для понимания, куда я попал и кто все эти буквы:
- defer сильно устаревшая фича. Если есть большое желание, то изучите <script type="module"></script>- Желательно использовать синтаксис ES2015. Синтаксис древних версий JavaScript - ну просто шлак. Сейчас мало устройств, которым требуется синтаксис образца 2010 года. В том числе и геттер в синтаксисе ES2015 очень даже удобен для данной конкретной задачи.
0
|
||||||
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
||
| 24.07.2019, 06:42 | ||
Кто-то чё-то может сказать по этому поводу?А синтаксисом древних версий js пользуются, потому что боятся подорваться на не поддерживающим браузере. А так-то все бы и рады пользоваться новым. У новичков проблема как раз со старым. Успехов!
0
|
||
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|||
| 24.07.2019, 07:02 | |||
|
Немаловажно расширяемость проекта.
0
|
|||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||
| 24.07.2019, 07:18 | ||||
- Поведение (Javascript) отделено от представления (HTML) - Отсутствие смешивания языков - Вы сможете использовать любой фреймворк javascript, например jQuery, который может обрабатывать большинство проблем с несколькими браузерами для вас. - Вы можете добавить поведение к множеству HTML-элементов сразу без дублирования кода. И вообще гибкое управление поведением в отличие от статичной HTML-разметки. Можно добавить, что код из атрибута HTML сначала преобразуется в анонимную функцию. То есть лишний шаг eval() и запуска ненужной функции-обертки. ----- Там ещё есть причины, но итак уже понятно, куда бежать и где мои вещи. Добавлено через 15 минут Никто из присутствующих в этой теме не помнит, как в синтаксисе ES5 реализовать геттер. Зачем ? Если можно пользоваться синтаксисом ES2015. Или наворочать лапши.
0
|
||||
|
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 54
|
|
| 24.07.2019, 08:24 [ТС] | |
|
Спасибо, добрый люди!
Сижу разбираюсь.
0
|
|
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
|||
| 24.07.2019, 09:25 | |||
|
О разделении данных и их представления нужно говорить только в контексте 4-х известных фреймворков. Вот там да, эта концепция просто окрыляет. Я оперирую данными а представление рождается и изменяется в соответствии с данными. А здесь надо делать не как говорят, что надо, а как удобно.
0
|
|||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||
| 24.07.2019, 09:36 | ||
|
По поводу поддержки IE8 тут у народа возникают разумные вопросы: Ответ: Пишите программу на нормальном современном языке, а потом скрипт можно транспилировать в синтаксис древнего JavaScript. Борис Ф даже дальновидно вынес скрипт в отдельный файл. Потом можно будет подложить абсолютно любой файлик. Хоть для нашего любимого Internet Explorer 6, которого горячо любят все авторы учебников и лекций.
0
|
||
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
||
| 24.07.2019, 10:05 | ||
|
Следующий клик: СОЗДАТЬ! 5 переменных для инпутов и 1 для p... Следующий клик: СОЗДАТЬ! 5 переменных для инпутов и 1 для p... Это всегда новые переменные, в новых ячейках памяти, но с одинаковыми значениями - ссылками на одни и те же элементы. На старые значения теряются ссылки и они лежат в памяти и ждут сборщика мусора.
0
|
||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 24.07.2019, 10:18 | |
|
Jumpbystep, в сторону разговор не заводите.
У нас не было цели сильно переделывать функцию f1(). В функции f1() надо было только решить вопрос с выводом года рождения. Вопрос решили. Вывели.
0
|
|
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
|
| 24.07.2019, 10:22 | |
|
0
|
|
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 24.07.2019, 10:42 | |
|
Jumpbystep,
здесь можно порассуждать, а зачем мы постоянно создаем полностью нового человека? ![]() ![]() ![]() Бывает. Кстати, у Борис Ф в целом неплохой скрипт. Гораздо хуже, когда программист думает, что он знает функциональное программирование, и начинает бесконечно оборачивать функцию в функцию.
0
|
|
|
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 54
|
|
| 24.07.2019, 11:05 [ТС] | |
|
Еще раз спасибо, господа!
0
|
|
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
|
| 24.07.2019, 11:12 | |
|
Борис Ф, всё-таки мне кажется что лучше было бы вынести все инициализации наружу.
value у них убрать, так как пока там ничего нет. А в объекте для n1-n5 value добавить через точку. Оно так и так работает, но сдаётся мне, что так будет экономичней.
0
|
|
| 30.07.2019, 08:36 | |||||
|
Не по теме:
0
|
|||||
| 30.07.2019, 09:49 | |
|
Не по теме: А с каких пор метод объекта является анонимной функцией?
0
|
|
|
54 / 11 / 0
Регистрация: 28.11.2017
Сообщений: 50
|
||
| 30.07.2019, 15:10 | ||
|
0
|
||
| 30.07.2019, 15:10 | |
|
Помогаю со студенческими работами здесь
19
Что такое Анонимная Функция, где используется?
Анонимная функция в интегрировании Не срабатывает анонимная функция
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|