М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 6 сентября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

JavaScript.thread = Number(`135`); /js/ /javascri/ 13 июня, 23:32 1416079 В конец треда | Веб

61 Кб, 1050x1050128 Кб, 762x1199277 Кб, 717x717

Прошлый тред: >>1409651 (OP)

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для фреймворков https://codesandbox.io/
Для Ноды с пакетами https://repl.it/languages/nodejs
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now

Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
что я хочу получить, что я для этого делаю, что я вместо этого получаю.
Сделай песочницу по ссылкам выше для ясности и удобства. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Ответы1608016659172061780518023182842049621446373154028841330426974992263574

2 13 июня, 23:35 2 1416080

>>1416079 (OP)
>D7QZNe8WsAIIJM.jpg
В чем космический смысл данной картинки?

Ответы1609116433

3 13 июня, 23:35 3 1416081

П Л А Т И Н А
> Странное приведение типов, комплексные правила, неявные ошибки
Язык разрабатывался с расчётом на доступность Веба для авторов любого вида. Даже плохой код должен хоть как-то работать. А тебя не обязывает всеми этими странностями пользоваться.
> Почему бы не сделать нормальную версию языка
Выгоды сомнительны, а Веб ломать нельзя.
http://exploringjs.com/es6/ch_one-javascript.html
> Динамика, не компиляется, недоязык
Странно, что у тебя после объявления всех типов и компиляния осталось время покакать в этом треде, старичок.
> Что там асинхронно происходит в этом одном потоке Event Loop
https://www.youtube.com/watch?v=8cV4ZvHXQL4
https://www.youtube.com/watch?v=j4_9BZezSUA
> Я могу сделать запрос с сервера к чужому АПИ, почему с клиента такой запрос не работает
Для твоей безопасности в браузерах принудительно работает ограничение доступа к кросс-доменным ресурсам. Требуются заголовки
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
> Хочу получить доступ к файлам на винте
Тебе бы не хотелось заходить в таком Веб, где произвольный сайт может получить доступ к твоим файлам.
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

В К А Т И Т Ь С Я
Возраст, пол, образование не имеют решающего значения. Времени потребуется год с нуля, но это не точно.
https://ru.hexlet.io/blog/categories/success
Английский обязательно. Проследуй в /fl за гайдом.

Учись учиться.
https://www.youtube.com/watch?v=5MgBikgcWnY
https://www.youtube.com/watch?v=IhuwS5ZLwKY&list=PL8dPuuaLjXtNcAJRf3bE1IJU6nMfHj86W
Ты помнишь образы и связи, а не конспекты.
https://www.youtube.com/watch?v=gj3ZnKlHqxI
https://www.youtube.com/watch?v=5nTuScU70As
Ты — это то, что ты делаешь каждый день.
https://www.youtube.com/watch?v=eLYNM5QAnpw
https://www.youtube.com/watch?v=JAnNUhWJQI8&list=PL5faAYlGYYoGr49h1WMInNSd5Ya1uu7KT&index=6
https://habitica.com/
Сколько помидорок сможешь сделать за неделю?
https://www.youtube.com/watch?v=H0k0TQfZGSc
https://pomotodo.com/
Математика. Не принципиально, но очень прокачивает.
https://www.khanacademy.org/math

HTML, CSS. Ничего сложного.
Требует только усидчивости. Как раз подойдёт для того, чтоб в простых условиях выработать правильные привычки и дисциплину. Проходи вёрстку на
https://htmlacademy.ru/courses
Бесплатного будет достаточно, но можно после этого и подписку купить на месяц, это мотивирует.
В Кокодемии тебе будут показывать всякие теги, правила. Ты дополнительно находи каждый на
https://developer.mozilla.org/en-US/
(в результатах поиска справа категории, оставь пока только HTML, CSS)
В этой “вики”-документации описаны подробности для всякого в Вебе. Тебе не надо учить это всё наизусть. Достаточно просто бегло ознакомиться, пропитываться, иметь представление. В каждой статье есть раздел “Specification”, там тебя чаще всего интересует ссылка “Living standard”. Это спецификации языка, “спеки”, они написаны очень формально. В начале всё будет совсем непонятно, это норма. Тебе просто надо привыкать к подобным документам, это сделает из макаки человека.
Можно найти ещё много полезностей, типа
https://htmlreference.io/
https://cssreference.io/
Параллельно с Кокодемией по вечерам посмотри:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
https://www.youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
На этом этапе стоит начать формировать информационный фон. Собирай подписки на рассылки, Ютюб, Твиттер. Но помни, если ты что-то смотришь-читаешь, то стоит потратить минимум столько же времени на написание кода по мотивам. Иначе это обычная бестолковая прокрастинация.
https://habr.com/ru/company/everydaytools/blog/322980/
https://www.youtube.com/watch?v=45EiCUTF88I
Или же это может быть толковая рекреация — лучше посмотреть интересный доклад, чем очередной сериал.

Javascript. Шутки кончились.
https://www.youtube.com/watch?v=rrRZZ_3licM&list=PLo6puixMwuSMIB7x6MNBTNQA3P3Mqo_33
Очень дружелюбен к ньюфаням и даст тебе хороший старт:
https://javascript.info/
У него есть предыдущая версия на русском, но она безнадёжно устарела. Здесь среди прочего описываются многие тонкости языка, которые полезны для общей картины, но на деле вряд ли пригодятся, не фрустрируй. Задачки обязательно делать. Если задачка совсем (за 10 минут) не получается, то прилежного разбора и воспроизведения готового решения будет вполне достаточно.
Искать каждый раз подробности на MDN ты уже имеешь привычку, не забывай пользоваться. Теперь тебя интересует Draft в спеках.
Как писать для людей:
https://github.com/ryanmcdermott/clean-code-javascript
Ссылкота по понятиям:
https://github.com/leonardomso/33-js-concepts

Тут уже нужно начать искать работку и получать опыт. Удача любит смелых. Но не ври о своём уровне работодателю, а главное — себе. Сейчас ты на уровне ребёнка, который только научился говорить, пользы от тебя столько же. Но собеседования это единственный способ для тебя узнать, что требуется сейчас в твоей области (во всех смыслах) и что нужно лично тебе.

Если ещё есть время и хочется подробностей, повторений, закреплений, то
https://www.freecodecamp.org/
годнота, интерактивно обозревает всё с упором на практику.
Подготовка к собеседованию, задачки, соревнования:
https://codesignal.com/
Концептуальный разбор, полезное чтиво:
https://github.com/getify/You-Dont-Know-JS
https://github.com/getify/Functional-Light-JS
Исчерпывающе подробные справочники:
http://speakingjs.com/es5/index.html
http://exploringjs.com/es6/index.html
http://exploringjs.com/es2016-es2017/index.html
http://exploringjs.com/es2018-es2019/toc.html
Массивнейшая ссылкота по всем темам:
https://frontendmasters.com/books/front-end-handbook/2019/
Дизайн, редактура, прочие смежные дела:
https://bespoyasov.ru/front-not-pain/

Node.js позволит тебе вырваться за пределы браузера, сделать свой сервер, автоматизировать рутину в разработке и жизни.
Нода это уже отдельная среда, человечного MDN’a тут нет. Но ты же уже не боишься серьёзных документаций. Нужно сразу найти доки Ноды “nodejs api” и сверяться с ними.
https://www.youtube.com/watch?v=fBNz5xF-Kx4
https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
https://www.youtube.com/watch?v=o3ka5fYysBM
https://www.youtube.com/watch?v=WBcHgaoHh1k&list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ

Где-то на этом этапе ещё нужно разобраться с инфраструктурой:
Linux
https://itsfoss.com/getting-started-with-ubuntu/
https://linuxjourney.com/
shell
https://tproger.ru/translations/bash-cheatsheet/
https://explainshell.com/
https://www.shellscript.sh/
Git
https://tproger.ru/translations/difference-between-git-and-github/
https://githowto.com
https://git-scm.com/book/ru/v2
Docker
https://dev.to/azure/docker---from-the-beginning-part-i-28c6
https://training.play-with-docker.com/beginner-linux/
https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/

Приложение. Всё по-взрослому.
Теперь пора делать что-то серьёзное, применять на практике. Имеется множество готовых приблуд, можно делать приложения любой сложности.
В качестве идеи для проекта стоит брать что-то близкое тебе, чтоб с душой. Можно воспроизвести используемое тобой приложение. Можно сделать что-то полезное тебе в быту — учёт просмотренных тайтлов, счётчик калорий, агрегатор новостей.
https://medium.freecodecamp.org/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d
https://medium.freecodecamp.org/want-to-build-something-fun-heres-a-list-of-sample-web-app-ideas-b991bce0ed9a
https://medium.freecodecamp.org/summer-is-over-you-should-be-coding-heres-yet-another-list-of-exciting-ideas-to-build-a95d7704d36d

Писать здесь гайды к каким-то приблудам нет никакого смысла, так как каждая вполне достойна отдельного треда и имеет свой сайт, где с гайдами постарались. Жизнь готовила тебя к этому, ты сможешь разобраться самостоятельно. Алгоритм такой:
0 - находишь на Ютюбе любой обзорный видос, чтоб страх неизвестного пропал;
https://www.youtube.com/watch?v=sBws8MSXN7A
1 - находишь официальный сайт приблуды;
https://reactjs.org/
2 - на офсайте делаешь Tutorial / Getting started;
https://reactjs.org/tutorial/tutorial.html
3 - на офсайте читаешь доки, АПИшки по диагонали;
https://reactjs.org/docs/hello-world.html
4 - начинаешь делать оригинальные нужные штуки, сверяясь с доками;
https://github.com/gothinkster/react-redux-realworld-example-app
5 - попробуй поискать “github awesome приблуда”;
https://github.com/enaqx/awesome-react
6 - отважно посмотри исходники.
https://github.com/facebook/react
Сейчас с большим отрывом самый популярный стек это React + Express + Mongo. Получается что-то такое:
https://www.youtube.com/watch?v=PBTYxXADG_k&list=PLillGF-RfqbbiTGgA77tGO426V3hRF9iE
Оформи такое в портфолио на Гитхабе и можешь уверенно искать работку.
А как же другие приблуды? Сложно и долго осилить только первый язык, фреймворк, что-либо. Следующий ты освоишь в считанные недели, а то и дни.

При перекате не забудь тему и тег. Шапка с разметкой: https://pastebin.com/Twkch1cM

3 13 июня, 23:35 3 1416081

П Л А Т И Н А
> Странное приведение типов, комплексные правила, неявные ошибки
Язык разрабатывался с расчётом на доступность Веба для авторов любого вида. Даже плохой код должен хоть как-то работать. А тебя не обязывает всеми этими странностями пользоваться.
> Почему бы не сделать нормальную версию языка
Выгоды сомнительны, а Веб ломать нельзя.
http://exploringjs.com/es6/ch_one-javascript.html
> Динамика, не компиляется, недоязык
Странно, что у тебя после объявления всех типов и компиляния осталось время покакать в этом треде, старичок.
> Что там асинхронно происходит в этом одном потоке Event Loop
https://www.youtube.com/watch?v=8cV4ZvHXQL4
https://www.youtube.com/watch?v=j4_9BZezSUA
> Я могу сделать запрос с сервера к чужому АПИ, почему с клиента такой запрос не работает
Для твоей безопасности в браузерах принудительно работает ограничение доступа к кросс-доменным ресурсам. Требуются заголовки
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
> Хочу получить доступ к файлам на винте
Тебе бы не хотелось заходить в таком Веб, где произвольный сайт может получить доступ к твоим файлам.
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

В К А Т И Т Ь С Я
Возраст, пол, образование не имеют решающего значения. Времени потребуется год с нуля, но это не точно.
https://ru.hexlet.io/blog/categories/success
Английский обязательно. Проследуй в /fl за гайдом.

Учись учиться.
https://www.youtube.com/watch?v=5MgBikgcWnY
https://www.youtube.com/watch?v=IhuwS5ZLwKY&list=PL8dPuuaLjXtNcAJRf3bE1IJU6nMfHj86W
Ты помнишь образы и связи, а не конспекты.
https://www.youtube.com/watch?v=gj3ZnKlHqxI
https://www.youtube.com/watch?v=5nTuScU70As
Ты — это то, что ты делаешь каждый день.
https://www.youtube.com/watch?v=eLYNM5QAnpw
https://www.youtube.com/watch?v=JAnNUhWJQI8&list=PL5faAYlGYYoGr49h1WMInNSd5Ya1uu7KT&index=6
https://habitica.com/
Сколько помидорок сможешь сделать за неделю?
https://www.youtube.com/watch?v=H0k0TQfZGSc
https://pomotodo.com/
Математика. Не принципиально, но очень прокачивает.
https://www.khanacademy.org/math

HTML, CSS. Ничего сложного.
Требует только усидчивости. Как раз подойдёт для того, чтоб в простых условиях выработать правильные привычки и дисциплину. Проходи вёрстку на
https://htmlacademy.ru/courses
Бесплатного будет достаточно, но можно после этого и подписку купить на месяц, это мотивирует.
В Кокодемии тебе будут показывать всякие теги, правила. Ты дополнительно находи каждый на
https://developer.mozilla.org/en-US/
(в результатах поиска справа категории, оставь пока только HTML, CSS)
В этой “вики”-документации описаны подробности для всякого в Вебе. Тебе не надо учить это всё наизусть. Достаточно просто бегло ознакомиться, пропитываться, иметь представление. В каждой статье есть раздел “Specification”, там тебя чаще всего интересует ссылка “Living standard”. Это спецификации языка, “спеки”, они написаны очень формально. В начале всё будет совсем непонятно, это норма. Тебе просто надо привыкать к подобным документам, это сделает из макаки человека.
Можно найти ещё много полезностей, типа
https://htmlreference.io/
https://cssreference.io/
Параллельно с Кокодемией по вечерам посмотри:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
https://www.youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
На этом этапе стоит начать формировать информационный фон. Собирай подписки на рассылки, Ютюб, Твиттер. Но помни, если ты что-то смотришь-читаешь, то стоит потратить минимум столько же времени на написание кода по мотивам. Иначе это обычная бестолковая прокрастинация.
https://habr.com/ru/company/everydaytools/blog/322980/
https://www.youtube.com/watch?v=45EiCUTF88I
Или же это может быть толковая рекреация — лучше посмотреть интересный доклад, чем очередной сериал.

Javascript. Шутки кончились.
https://www.youtube.com/watch?v=rrRZZ_3licM&list=PLo6puixMwuSMIB7x6MNBTNQA3P3Mqo_33
Очень дружелюбен к ньюфаням и даст тебе хороший старт:
https://javascript.info/
У него есть предыдущая версия на русском, но она безнадёжно устарела. Здесь среди прочего описываются многие тонкости языка, которые полезны для общей картины, но на деле вряд ли пригодятся, не фрустрируй. Задачки обязательно делать. Если задачка совсем (за 10 минут) не получается, то прилежного разбора и воспроизведения готового решения будет вполне достаточно.
Искать каждый раз подробности на MDN ты уже имеешь привычку, не забывай пользоваться. Теперь тебя интересует Draft в спеках.
Как писать для людей:
https://github.com/ryanmcdermott/clean-code-javascript
Ссылкота по понятиям:
https://github.com/leonardomso/33-js-concepts

Тут уже нужно начать искать работку и получать опыт. Удача любит смелых. Но не ври о своём уровне работодателю, а главное — себе. Сейчас ты на уровне ребёнка, который только научился говорить, пользы от тебя столько же. Но собеседования это единственный способ для тебя узнать, что требуется сейчас в твоей области (во всех смыслах) и что нужно лично тебе.

Если ещё есть время и хочется подробностей, повторений, закреплений, то
https://www.freecodecamp.org/
годнота, интерактивно обозревает всё с упором на практику.
Подготовка к собеседованию, задачки, соревнования:
https://codesignal.com/
Концептуальный разбор, полезное чтиво:
https://github.com/getify/You-Dont-Know-JS
https://github.com/getify/Functional-Light-JS
Исчерпывающе подробные справочники:
http://speakingjs.com/es5/index.html
http://exploringjs.com/es6/index.html
http://exploringjs.com/es2016-es2017/index.html
http://exploringjs.com/es2018-es2019/toc.html
Массивнейшая ссылкота по всем темам:
https://frontendmasters.com/books/front-end-handbook/2019/
Дизайн, редактура, прочие смежные дела:
https://bespoyasov.ru/front-not-pain/

Node.js позволит тебе вырваться за пределы браузера, сделать свой сервер, автоматизировать рутину в разработке и жизни.
Нода это уже отдельная среда, человечного MDN’a тут нет. Но ты же уже не боишься серьёзных документаций. Нужно сразу найти доки Ноды “nodejs api” и сверяться с ними.
https://www.youtube.com/watch?v=fBNz5xF-Kx4
https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
https://www.youtube.com/watch?v=o3ka5fYysBM
https://www.youtube.com/watch?v=WBcHgaoHh1k&list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ

Где-то на этом этапе ещё нужно разобраться с инфраструктурой:
Linux
https://itsfoss.com/getting-started-with-ubuntu/
https://linuxjourney.com/
shell
https://tproger.ru/translations/bash-cheatsheet/
https://explainshell.com/
https://www.shellscript.sh/
Git
https://tproger.ru/translations/difference-between-git-and-github/
https://githowto.com
https://git-scm.com/book/ru/v2
Docker
https://dev.to/azure/docker---from-the-beginning-part-i-28c6
https://training.play-with-docker.com/beginner-linux/
https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/

Приложение. Всё по-взрослому.
Теперь пора делать что-то серьёзное, применять на практике. Имеется множество готовых приблуд, можно делать приложения любой сложности.
В качестве идеи для проекта стоит брать что-то близкое тебе, чтоб с душой. Можно воспроизвести используемое тобой приложение. Можно сделать что-то полезное тебе в быту — учёт просмотренных тайтлов, счётчик калорий, агрегатор новостей.
https://medium.freecodecamp.org/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d
https://medium.freecodecamp.org/want-to-build-something-fun-heres-a-list-of-sample-web-app-ideas-b991bce0ed9a
https://medium.freecodecamp.org/summer-is-over-you-should-be-coding-heres-yet-another-list-of-exciting-ideas-to-build-a95d7704d36d

Писать здесь гайды к каким-то приблудам нет никакого смысла, так как каждая вполне достойна отдельного треда и имеет свой сайт, где с гайдами постарались. Жизнь готовила тебя к этому, ты сможешь разобраться самостоятельно. Алгоритм такой:
0 - находишь на Ютюбе любой обзорный видос, чтоб страх неизвестного пропал;
https://www.youtube.com/watch?v=sBws8MSXN7A
1 - находишь официальный сайт приблуды;
https://reactjs.org/
2 - на офсайте делаешь Tutorial / Getting started;
https://reactjs.org/tutorial/tutorial.html
3 - на офсайте читаешь доки, АПИшки по диагонали;
https://reactjs.org/docs/hello-world.html
4 - начинаешь делать оригинальные нужные штуки, сверяясь с доками;
https://github.com/gothinkster/react-redux-realworld-example-app
5 - попробуй поискать “github awesome приблуда”;
https://github.com/enaqx/awesome-react
6 - отважно посмотри исходники.
https://github.com/facebook/react
Сейчас с большим отрывом самый популярный стек это React + Express + Mongo. Получается что-то такое:
https://www.youtube.com/watch?v=PBTYxXADG_k&list=PLillGF-RfqbbiTGgA77tGO426V3hRF9iE
Оформи такое в портфолио на Гитхабе и можешь уверенно искать работку.
А как же другие приблуды? Сложно и долго осилить только первый язык, фреймворк, что-либо. Следующий ты освоишь в считанные недели, а то и дни.

При перекате не забудь тему и тег. Шапка с разметкой: https://pastebin.com/Twkch1cM

Показать весь текст
Ответы164301894018941

4 13 июня, 23:59 4 1416091

>>1416080
очевидно в унижении адептов пыха, т.к. он в 2к19 на фоне жс и других - говно мамонта

5 14 июня, 00:02 5 1416093

>>1415807
т.е. сайд эффект

6 14 июня, 02:42 6 1416138

>>1415958
https://codepen.io/anon/pen/JQYrYb
Но я сам рак.

7 14 июня, 02:45 7 1416139

А нужно ли для истинного понимания языка рассматривать какую-нибудь библиотеку, скажем, жкверри, и понимать все тамошние функции и методы?

Ответы1614316215

8 14 июня, 03:34 8 1416143

>>1416139
лучше книжку хорошую почитай

Ответы16145

9 14 июня, 03:38 9 1416145

>>1416143
Philosophie im Boudoir?

Ответы16147

1,8 Мб, 1602x2214
10 14 июня, 03:49 10 1416147

>>1416145
труды и дни гесиода
титанический труд о том как надо жить, бессмертная классика

Стоя и к солнцу лицом обратившись, мочиться не гоже.
Даже тогда на ходу не мочись, как зайдет уже солнце,
Вплоть до утра - все равно по дороге ль идешь, без дороги ль;
Не обнажайся при этом: над ночью ведь властвуют боги.
Мочится чтущий богов, рассудительный муж либо сидя,
Либо - к стене подойдя на дворе, огороженном прочно.
Совокупившись, не стой неодетый, с. . . . . . . .
Перед огнем очага, но держись в это время подальше.

127 Кб, 557x200
11 14 июня, 08:52 11 1416175

А где эта хуйчарка канторовская?

12 14 июня, 10:32 12 1416215

>>1416139
Если бы я начал ознакомление с JS с какой-нибудь еблиотеки или хреньворка, особенно с жидоквера, меня тошнило бы от него до сих пор.

13 14 июня, 15:29 13 1416402

>>1416360
>он выёбывается знанием ES6
ору

Ответы16427

14 14 июня, 15:31 14 1416404

https://learn.javascript.ru/task/throttle

Можете пару моментов по этой задаче объяснить, а именно, каким образом последняя вызванная функция не запускает рекурсию? Я понял алгоритм так:

Вызывается первая функция, выполняется func.apply(this, arguments), флаг ставится на true

Затем вызываются следующие две функции до конца таймера, так как флаг стоит true, то они доходят до условия истинности флага, перезаписывают контекст и аргументы и возвращаются

Проходит таймер и реализуется логика внутри settimeout. Проверка на наличие savedArgs выполняется (в него записаны аргументы последней вызванной функции) и запускается рекурсивный вызов обертки. И, собственно, по поводу этого рекурсивного вызова кое-что и непонятно:

Вот он доходит до func.apply(this, arguments), выполняется с переданными ему savedArgs и savedThis. Дальше он доходит до setTimeout. И там проверка на savedArgs. Какое значение savedArgs имеют в этой проверке? Логично предположить, что NULL. Но с какого хрена? Ведь перезапись savedArgs = savedThis = null происходит ПОСЛЕ рекурсивного вызова, то есть сначала вызов должен завершиться, а потом savedArgs станут null. Получается, что в тот момент, когда рекурсивный вызов доходит до setTimeout, savedArgs нихрена не NULL, проверка проходит и получается бесконечная рекурсия

ИЛИ же я не совсем уловил суть таймаутов и в тот момент, когда начинается таймаут в рекурсивном вызове, в функции, которая ео вызвала, таки происходит перезапись? И по окончании таймаута в проверка savedArgs уже NULL?

Ответы164131642120137

15 14 июня, 15:45 15 1416413

>>1416404
Нафига тебе эта ебанина? Никогда такого не будешь делать в нормальном продакшн коде.

Ответы16446

16 14 июня, 15:58 16 1416421

>>1416404
> рекурсивного вызова
> setTimeout
Совсем долбоёб?

Ответы16428

17 14 июня, 16:08 17 1416427

>>1416402
А хули тут орать, макаке определённо легче какой-нибудь говноворк выучить, чем современный стандарт языка - слишком сложный для обезьян оказался.

18 14 июня, 16:10 18 1416428

>>1416421
А что у нас внутри setTimeout? Правильно, рекурсивный вызов wrapper

Ответы16441

19 14 июня, 16:17 19 1416430

>>1416081
жс смотрит на тебя хейтера как на говно

Ответы16433

20 14 июня, 16:18 20 1416433

>>1416430 -> >>1416080

21 14 июня, 16:32 21 1416441

>>1416428
Это можно за некое подобие хвостовой рекурсии принять, но это не вызов функции из самой себя.

Ответы16449

22 14 июня, 16:49 22 1416446

>>1416413
уф, а я уже испугался, что onmousemove надо было оказывается замедлять все это время а я и не знал

Ответы16494

23 14 июня, 16:55 23 1416449

>>1416441
Ну хорошо. Просто кантор указывает на то, что это рекурсивное решение

Ответы16507

24 14 июня, 18:20 24 1416489

>`${new Date(time).getHours()}:${new Date(time).getMinutes()}:${new Date(time).getSeconds()}`

Я долбаеб?

Ответы1649516498

25 14 июня, 18:29 25 1416494

>>1416446
_.debounce

26 14 июня, 18:30 26 1416495

>>1416489
moment(time).format(HH:mm:ss)

Ответы16501

27 14 июня, 18:33 27 1416498

>>1416489
https://github.com/you-dont-need/You-Dont-Need-Momentjs#format

Ответы16509

28 14 июня, 18:35 28 1416501

>>1416495
Нинужно. date-fns

29 14 июня, 18:45 29 1416507

>>1416449
Не слушай этого жидёнка, он может такую хуйню начесать, что потом заново язык переучивать будешь по нормальным учебникам. К тому же этот уёбок уже лет 10 не обновляет свой говноучебник, хотя побирается на сайте со всяких уроков, тренингов и копий в PDF.

30 14 июня, 18:49 30 1416509

>>1416498
Пиздец, макаки уже еблиотеку высрали, чтобы дату отформатировать. Пиздец дебилы, блядь.

Ответы16518

31 14 июня, 19:03 31 1416518

>>1416509
Подскажи какой сейчас тру способ форматировать даты без библиотек

Ответы1657616577

32 14 июня, 20:54 32 1416576

>>1416518
new Intl.DateTimeFormat().format(date);

33 14 июня, 21:01 33 1416577

>>1416518
А какие у тебя с этим проблемы? Ты пишешь какой-нибудь календарь/органайзер для разных стран и языков, и тебе приходится постоянно возиться с выводом дат? Я бы так заебенил:

> ["Hours", "Minutes", "Seconds"].map(ф => new Date()["get" + ф]().toString().padStart(2, "0")).join(":")

34 14 июня, 21:42 34 1416600

Как же очко играет, на следующей неделе по собесам собираюсь бегать. Уже заренее чувствую себя тупым омежкой.

Ответы16605

35 14 июня, 21:47 35 1416605

>>1416600
Так запасись вазелином, салфетками, купи пару бутылок воды, пачку гондонов, и сам не заметишь, как пройдут твои унижения.

Ответы1660816609

36 14 июня, 21:49 36 1416608

>>1416605
>Так запасись вазелином, гондонами.
Вдруг он омежка и не может?

Ответы16611

37 14 июня, 21:49 37 1416609

>>1416605
Вот лучше бы по кругу пустили и обоссали если честно.

Ответы1661116729

38 14 июня, 21:59 38 1416611

>>1416608
И что, этот Олежка не может сходить в аптеку за вазелином?

>>1416609
Это ровным счётом то же самое, поверь мне, сам подобными унижениями занимался когда-то. Единственное, чем могу успокоить: с моей стороны это тоже удовольствие так себе было: единственная мысль, крутящаяся в голове, - когда же наконец начнут строить биореакторы?

39 14 июня, 23:17 39 1416648

Это норма, че их так до хуя?
https://kazan.hh.ru/search/resume?area=88&clusters=true&exp_period=all_time&logic=normal&pos=full_text&text=JavaScript&search_period=365&order_by=relevance

Ответы16651

40 14 июня, 23:21 40 1416651

>>1416648
600 человек на город с населением 1,2 млн человек - это дохуя?

Ответы16654

41 14 июня, 23:29 41 1416654

>>1416651
>1 632 резюме будет найдено по вашему запросу после регистрации работодателем

Ответы16900

42 14 июня, 23:36 42 1416659

>>1416079 (OP)
Возможно ли посмотреть все куки браузера (пусть и зашифрованные) через cookie-parser (нодовская либа для экспресса)

Я имею в виду куки других сайтов

43 15 июня, 03:11 43 1416704

Кто то писал майнер на js?

Ответы16710

27 Кб, 400x400
44 15 июня, 04:06 44 1416710

>>1416704
придумал способ не ходить по собеседованиям?

Ответы16711

45 15 июня, 04:09 45 1416711

>>1416710
Хочу поставить пидору заказчику майнер, на его же сайт.

Ответы16712

46 15 июня, 04:13 46 1416712

>>1416711
инфа к размышлению
https://lb.ua/economics/2019/03/26/422976_kiberpolitsiya_zaderzhala_zhitelya.html

Ответы16714

47 15 июня, 04:16 47 1416714

>>1416712
>ua

48 15 июня, 08:14 48 1416729

>>1416609
В прошлом треде один лишился девственности, в этом другой просит его обоссать... Что не так с этим языком? У пидорасов какая-то предрасположенность к JS?

Ответы1673816740

240 Кб, 823x900
49 15 июня, 09:24 49 1416738

>>1416729
>В прошлом треде один лишился девственности
где?

кстати, мне сегодня посылочка с чулочками пришла, ня-ня-ня!

Ответы1674116752

50 15 июня, 09:33 50 1416740

>>1416729
>в этом другой просит его обоссать
Врети, предпочтительнее обоссывание, чем собесы. Нужно различать такие вещи.
>У пидорасов какая-то предрасположенность к JS?
Думаю тут не js, а программирование в целом, потому что среди крестоблядей тоже через одного содомиты.

Ответы16743

51 15 июня, 09:33 51 1416741

>>1416738
>>1410423

52 15 июня, 09:37 52 1416743

>>1416740
> Врети, предпочтительнее обоссывание, чем собесы. Нужно различать такие вещи.
Не нужно, это один хуй. Ещё одно дело, когда тебя просто пара суровых мужиков-программистов опрашивает на предмет навыков. Самый же смак, когда тебя какая-то малолетняя прошмандовка-секретутка унижает, которая сама нихуя не знает и не умеет, а посажена специально, чтоб обоссывать и унижать таких, как ты.

Ответы16955

53 15 июня, 09:38 53 1416744

> Думаю тут не js, а программирование в целом, потому что среди крестоблядей тоже через одного содомиты.
Скорее, не программирование, а кодерство-прогерство. Среди программистов МК-61, к примеру, ни одного пидораса не встречал.

Ответы1674516750

54 15 июня, 09:41 54 1416745

>>1416744
Перфокарты еще вспомни, очевидно что тогда это скрывалось со страшной силой и люди пытались подавить свои влечения чтобы не угробить карьеру и социальное положение.

Ответы1674616748

93x68
55 15 июня, 09:47 55 1416746

>>1416745
А теперь если подумать о том, что хреньворки набирают популярность одновременно со всей этой темой про ЛГБТ на западе, то все встает на свои места.

Кстати, нахуй так делать? Даже перекатить нормально не могут.

56 15 июня, 09:59 56 1416747

Гомосятина из НИИ прет, всем доказываю, что ассемблер тру и всем стоит так и в вэбе исполнять

Ответы16751

57 15 июня, 10:00 57 1416748

>>1416745
Потому и программирование было элитарной инженерной профессией, а не пристанищем дегенератов.

58 15 июня, 10:01 58 1416750

>>1416744
Фу быть таким. Из какого совка ты выкатился?

59 15 июня, 10:05 59 1416751

>>1416747
Да это вы, заднепереднеприводные, засрали весь Интернет своими высерами, что теперь что ни ёбаная страничка, то пачка хуеворков и еблиотек, 100% загрузки процессора и 500 МБ оперативки, плюс 10 минут на отрисовку всего этого говна, которое в результате шевелится как контуженный глист в анабиозе.

Ответы1675316760

10 Кб, 320x320
60 15 июня, 10:07 60 1416752

>>1416738
блин вот обрадовался а на почте вместо чулочков вручили бумаги из шараги бандеролью, видать я сделал кислую мину т.к. меня ещё и спросили не расстроился ли я
грр

61 15 июня, 10:09 61 1416753

>>1416751
это ты ещё майнер сверху не видел (:

62 15 июня, 10:36 62 1416760

>>1416751
Обычно там бутстрап с жуквери

63 15 июня, 14:33 63 1416830

Хочу отследить событие change jquery на N инпутов, возможно ли так сделать? Я пробую так

var list = $("[id^=text]");
for(var i=0; i<list.length; i++) {
list.change(function(){
localStorage.setItem("key" + i, list.val());
});
}

Ответы168311685116883

64 15 июня, 14:35 64 1416831

>>1416830
https://eslint.org/docs/rules/no-loop-func

Ответы16847

65 15 июня, 15:11 65 1416847

>>1416831
Ну хз чет мне лень разбираться с eslint, нашел пример который нужен, через each, но он чет не робит в jsfiddle
https://stackoverflow.com/questions/27273444/save-and-load-input-values-using-local-storage?answertab=active#tab-top

66 15 июня, 15:32 66 1416851

>>1416830
var i=0
замени на
let i=0
а то гроб гроб кладбище. И должно работать.
Только я не знаю что такое [id^=text]. Там есть элементы после этого?

Ответы168521685316854

7 Кб, 568x386
67 15 июня, 15:35 67 1416852

>>1416851
Гроб гроб из-за пикрелейтед если что. У тебя i будет самый последний всегда.

68 15 июня, 15:41 68 1416853

>>1416851
[id^=text] это я ищу свои инпуты, так как они начинаются на text а дальше идет порядковый номер

69 15 июня, 15:46 69 1416854

>>1416851
Заменил var на let, нипашет, попробую с each запилить

Ответы16855

70 15 июня, 15:49 70 1416855

>>1416854
Хуйни написал. На.
https://jsfiddle.net/fu1v4yL6/1/

Ответы16856

71 15 июня, 15:56 71 1416856

>>1416855
Хотел сам поразбираться, ну да ладно, благодарю анон

Ответы16859

72 15 июня, 16:04 72 1416859

>>1416856
http://api.jquery.com/delegate/#delegate-selector-eventType-eventData-handler

.delegate( selector, eventType, eventData, handler )

А мог бы сделать дедовским способом и не учить es6

Ответы1686216883

73 15 июня, 16:11 73 1416862

>>1416859
А пардоне уже надо .on( events [, selector ] [, data ], handler )
использовать

Ответы16887

74 15 июня, 17:30 74 1416883

>>1416830
> jquery
Блядь, когда же вы вымрете, мерзкие животные?

>>1416859
> не учить es6
Вся суть жидоквернутых макак.

Ответы1712017145

75 15 июня, 17:34 75 1416887

>>1416862
Чот я хуйню сморозил и убежал

$('input').change(function() {
var i = $(this).index();
localStorage.setItem("key" + i, list.val());
})

Ответы1689216894

76 15 июня, 17:38 76 1416890

А не зашквар пользоваться var в 2019? Я весь es6 уже выучил, везде const хуярю, но вот если мне нужно определить переменную динамически, то приходится писать
let a;
if (yoba) a = boba else a = jopa.
Неудобно.и нет, тернарный оператор нельзя, переменная, например, это большой объектИ то же самое, если переменная определяется внутри try-блока.

Ответы1689317029

77 15 июня, 17:39 77 1416892

>>1416887
> $('input').change
list.change

78 15 июня, 17:44 78 1416893

>>1416890
Здеся https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features var нету

Ответы16896

79 15 июня, 17:46 79 1416894

>>1416887
>list.val()
$(this).val()

80 15 июня, 17:48 80 1416896

>>1416893
Понятно, что он не deprecated ещё. Но если я приду собеседоваться на джуна, а у меня в мувисерчере var, меня не обоссут?

Ответы1689717019

81 15 июня, 17:53 81 1416897

>>1416896
Джуну в любом случае обоссут. Тем более джуну-жидокверистку.

Ответы16899

82 15 июня, 18:00 82 1416899

>>1416897
Схуяли ты решил, что я жидокверист? Я реактодрочила.

Ответы16912

83 15 июня, 18:01 83 1416900

>>1416654
1632 человека на город с населением 1,2 млн человек - это дохуя?

84 15 июня, 18:19 84 1416912

>>1416899
В сортах говна не разбираюсь.

Ответы1691416919

85 15 июня, 18:23 85 1416914

>>1416912
Написал уже эмулятор PDP-11 на жс или на МК 60 идеи кончились?

86 15 июня, 18:37 86 1416919

>>1416912
Вылазь уже с codewarsю

106 Кб, 1080x1080
87 15 июня, 20:26 87 1416955

>>1416743
> унижает
>сама нихуя не знает и не умеет

88 16 июня, 00:16 88 1417019

>>1416896
>а у меня в мувисерчере var, меня не обоссут?
Обоссут и правильно сделают. Я даже скажу как. Напишут тебе код
for (var i = 0; i < 10; i++) {
setTimeout(() => { console.log(i); }, 0);
}
и попросят сказать, что он напечатает. А потом попросят исправить сохранив var, раз ты так var любишь.

Ответы17020170251706017065

89 16 июня, 00:20 89 1417020

>>1417019
Бля, уже ровно этот пример привели до меня. Какие все шустрые, работали бы так же быстро.

90 16 июня, 00:35 90 1417025

>>1417019
"10" 10 раз.
for (var i = 0; i < 10; i++) {
(() => {
var varIsShit = i;
setTimeout(() => { console.log(varIsShit); }, 0);
})();
}

Нахуй я это написал.

105 Кб, 1366x768
91 16 июня, 01:09 91 1417029

>>1416890
var протекает через области видимости, его ок только в консоли бровзера юзать для тестов кода

Ответы17033

92 16 июня, 01:39 92 1417032

Ещё две задачки, что напечатают программы:
1)
var i = 666;

function func() {
for (i = 0; i < 10; i++) {
console.log(i);
}
}
console.log(i);
func();
console.log(i);

После правильного ответа, вторая программа:
var i = 666;

function func() {
for (i = 0; i < 10; i++) {
console.log(i);
}

for (var i = 0; i < 10; i++) {
console.log(i);
}
}

console.log(i);
func();
console.log(i);

92 16 июня, 01:39 92 1417032

Ещё две задачки, что напечатают программы:
1)
var i = 666;

function func() {
for (i = 0; i < 10; i++) {
console.log(i);
}
}
console.log(i);
func();
console.log(i);

После правильного ответа, вторая программа:
var i = 666;

function func() {
for (i = 0; i < 10; i++) {
console.log(i);
}

for (var i = 0; i < 10; i++) {
console.log(i);
}
}

console.log(i);
func();
console.log(i);

Показать весь текст
Ответы170331706417065

93 16 июня, 01:45 93 1417033

8 Кб, 257x19711 Кб, 306x219

>>1417032
>>1417029
или тоже самое, но иначе:
что напечатают первая и вторая программы:

Ответы1707119316

57 Кб, 1210x638
94 16 июня, 02:12 94 1417038

Как в sublime text сделать такую консоль слева? Гугл не помог

Ответы1704017081

95 16 июня, 02:25 95 1417040

>>1417038
А слева саблайм? Судя по отсутствию "unregistered" - нет.
Просто слева открой хромовский dev-tools, а справа саблайм

96 16 июня, 03:42 96 1417060

>>1417019
Это же платиновая задачка на замыкания из учебника кантора. Вы тут учебников совсем не читаете?

Ответы1709817885

97 16 июня, 03:58 97 1417064

>>1417032
А вот это задачки поприкольней? Вторая с некоторой заковыркой) Так как во второй функции есть var, то создается локальная переменная и внешняя i = 666 не перезаписывается, поэтому в последнем консоль.логе выводится тоже 666. Я сразу на этот вар внимания-то и не обратил, лол

В первой задачке внутри функции вара нет, поэтому перезаписывается внешняя переменная, во втором консоль.логе она равна десяти поэтому

Ответы17067

98 16 июня, 04:01 98 1417065

>>1417019
ну ладно тут понятно, var создает один биндинг, let создает биндинг на каждую итерацию, при замыкании передается сама переменная, которая в случае с var равна 10 а в случае с let каждый прогон равна 0, 1, 2, 3 и т.п. последовательно

>>1417032
тут в первой как бы тоже все понятно, обратился к переменной скопом выше и переписал ее

объясните третью плз
почему тут не переписывается глобальная переменная?

Ответы1711017124

30 Кб, 550x400
99 16 июня, 04:05 99 1417067

>>1417064
но ведь вар внутри функции задекларирован после петли которая по идее должна переписать глобальный вар

Ответы17069

100 16 июня, 04:08 100 1417069

>>1417067
Мм, нет, сначала интерптетатор идет по функции и ищет все вары, а потом идет выполнять основной код.

То есть к моменту дохода до цикла с "незадекларированным" варом, локальный вар уже задеклалирован и равен undefined. После инициализации цикла локальный вар, соответственно, получает другое значение

Ответы17071

101 16 июня, 04:15 101 1417071

>>1417069
Ну, я наверное, не очень четко выразился. Короче, функции неважно, где вар i определен, если он определен даже в конце, даже после ретюрна (как на втором пике здесь >>1417033), то функция уже считает все операции с i операциями именно с локальным i. Интерптетатор сначала пробегает по функции, и если находит var i, то он записывает его в свой лексикаленвайромент, и перед началом выполнение кода он уже равен undefined

Ответы17145

102 16 июня, 08:15 102 1417081

>>1417038
Дурашка-пидорашка, я саблайм не юзаю, но ответ нашёл за 2 секунды в гугле. Ты как искал?

Ответы17226

103 16 июня, 08:25 103 1417083

лучше расскажите как сделать джаваскрипт консоль как в браузере в vs code

Ответы17145

631 Кб, 1281x719
104 16 июня, 09:38 104 1417094

Какой интересный код в курсе по КомпСайенс в шапке

105 16 июня, 09:50 105 1417098

>>1417060
Кантера зашквар читать.

Ответы17099

106 16 июня, 09:52 106 1417099

>>1417098
Меньший, чем использовать var в 2019.

Ответы17100

107 16 июня, 09:55 107 1417100

>>1417099
Вар стандартом не отменён, при большой необходимости и его можно использовать. Иногда может понадобиться переменная с такой областью видимости.

Ответы17145

108 16 июня, 10:38 108 1417110

>>1417065
>объясните третью плз
>почему тут не переписывается глобальная переменная?
Потому что объявление var всегда поднимается вверх по функциональной области видимости еще до того, как код начнет выполняться.

109 16 июня, 11:10 109 1417120

>>1416883
посоны, у него бомбит, тащи огнетушитель!

110 16 июня, 11:42 110 1417124

>>1417065
>почему тут не переписывается глобальная переменная?
Потому что язык говно.

Ответы17145

80 Кб, 648x270
111 16 июня, 12:47 111 1417142

Давно уже не ньюфаг, поэтому больше взываю к умному анону тупой мне не помог в ньюфаче. Анон, попробуй как-то аргументированно высказаться в сторону одного из языков (javascript или python). Нужен какой-то мысленный перевес, ибо повис в выборе.

Задачи: классический веб-бэкенд (фронт - на говне из jquery)
>>1417138 (OP)
>>1417138 (OP)
>>1417138 (OP)

Ответы1714319317

112 16 июня, 12:55 112 1417143

>>1417142
ты долбоеб, я ебал твою мать.
Пиздец блять ну ты и долбоеб.

Ответы17148

113 16 июня, 13:00 113 1417145

>>1417083
debug terminal?

>>1417071
Понимать, как работает var, пожалуй, нужно для всяких легаси, но использовать его при написании нового кода - пиздец.

>>1417100
>Вар стандартом не отменён
А что ты считаешь стандартом? Для большинства нормальных компаний в индустрии стандарт - airbnb style guide, а там черным по белому: 13.1 Always use const or let to declare variables.

>>1416883
>> jquery
>Блядь, когда же вы вымрете, мерзкие животные?
Смотри, какое дело... большинство из того что делала жкваря, уже потеряло актуальность, но есть моменты и проекты, где она ещё нужна. https://flaviocopes.com/jquery/

>>1417124
>Потому что язык говно.
Твой-то?

Ответы171541715717245

114 16 июня, 13:07 114 1417148

>>1417141
>>1417143

115 16 июня, 13:16 115 1417154

>>1417145
> А что ты считаешь стандартом?
Ну, например, это: https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

Ответы1716017170

116 16 июня, 13:18 116 1417157

>>1417145
> есть моменты и проекты, где она ещё нужна
Лень вникать в англоязычный высер жидоквериста, но не могу представить ни единого случая, где это говно может быть нужно и вообще было нужно когда-либо.

Ответы17165

117 16 июня, 13:23 117 1417160

>>1417154
Спецификация - не стандарт индустрии, а список того, что есть в языке, и как это "что" себя ведёт. Совершенно не значит, что всё, что там содержится, надо использовать в продакшене.

Ответы17182

118 16 июня, 13:26 118 1417165

>>1417157
Ну ты или используешь какой-нибудь framework иначе Слово framework нужно произносить с выраженным американским акцентом, особо акцентирую артикуляцию r в work, иначе ты всем показываешь, что ты немодное говно, а не современный программер, или должен сам поддерживать какие-то фичи, особенно по части Ajax, или отказаться от поддержки испопаемого говна вроде IE.

Но JS это больше либа, а фреймворки в нагрузку тебя заставляют кучей всего ещё пользоваться, что часто тоже просто идейно устарело и уже поддерживается современными браузерами без проблем.

Ответы17178

119 16 июня, 13:34 119 1417170

>>1417154
Стандарт языка для машин, которые код интерпретируют, тут требуется обратная совместимость в том числе.

Стандарт оформления для людей, которые код пишут. Тут требуется писать читаемый код, с меньшим количеством потенциальных багов, более оптимальный, с учётом тенденций развития языка.

Использовать var дурной тон. Ты всегда вместо var можешь использовать let/const.

Ответы17182

120 16 июня, 13:56 120 1417178

>>1417165
> должен ... отказаться от поддержки испопаемого говна вроде IE
Именно. Если разработчики этот поезд с вагонами древнего глючного тупорылого говна так и будут за собой тащить на горбу вместо того, чтобы ткнуть пользователя носом в сообщение: "Используй браузер, а не хуйпоймичто", то переход к современным браузерам займёт ещё с десяток лет. А если уж приспичило так, то для Хуякса вполне можно использовать те же фреймы, отлично работавшие ещё на заре Веба.

> идейно устарело и уже поддерживается современными браузерами без проблем
Верно. Но тупую веб-макаку переучить с хреньворка на нормальный, современный ES6 и заставить с ним работать крайне проблематично.

> Слово framework нужно произносить с выраженным американским акцентом, особо акцентирую артикуляцию r в work, иначе ты всем показываешь, что ты немодное говно, а не современный программер
Я и с британским акцентом не знаю, как это должно звучать, а ты тут про американский. На мой взгляд, это нужно произносить не иначе, как "хреньворк", с выраженным русским акцентом, особо акцентируя артикуляцию "х" в "хрень", иначе ты всем показываешь, что ты обшкваренный кодер-программер, а не программист.

121 16 июня, 14:05 121 1417182

>>1417160
>>1417170
Спецификация/стандарт - для разработчиков браузеров. Которые могут как не полностью его поддерживать, так и вводить свои, нестандартизованные навороты. Безусловно, нужно следовать некоторым установкам, чтобы писать код приемлемого качества, но самая первая из этих установок - держаться стандарта, только потом уже всякого рода рекомендации.

Я согласен насчёт того, что var сегодня лучше не использовать вообще. Но если мне вдруг сильно захочется где-то заебенить var вместо let, то я не откажу себе в таком удовольствии, а не буду перелопачивать код, чтобы обойтись let.

Ответы17190

122 16 июня, 14:21 122 1417190

>>1417182
>Но если мне вдруг сильно захочется где-то заебенить var вместо let, то я не откажу себе в таком удовольствии, а не буду перелопачивать код, чтобы обойтись let.
А где ты работаешь, и на позиции какого уровня, можно спросить?

Ответы17203

123 16 июня, 14:22 123 1417192

Есть div на сайте который undefined, но после щелчка ссылки, он появляется. Я как нуб перехватил его через while. И весь задуманный код работает. Шо для этого актуально mutation observer или mutation events, или есть более простой способ реализовать это через какой-нибудь ибаный jquery?

Ответы17210

124 16 июня, 14:37 124 1417203

>>1417190
Ну уж не кофеподносильщиком, между делом пишущим код, которого ебут за любое своеволие и отступление от шаблона в работе.

Ответы19319

125 16 июня, 14:37 125 1417206

>>1416079 (OP)
VSCode, JetBrains WebStorm, Atom или Sublime Text?

126 16 июня, 14:40 126 1417210

>>1417192
Что тебе мешает внедриться в обработчик нажатия ссылки?

Ответы17219

127 16 июня, 14:44 127 1417219

>>1417210
Как-то странно работает, алерт вылезает раньше чем окно появится

Ответы17233

128 16 июня, 14:47 128 1417224

Вары надо понимать как минимум потому, что на собесах любят спрашивать всякую заковыристую хуйню, в том числе и связанную с ФИЧАМИ работы варов

Если клеймить все тонкости языка, не особо используемые на практике, как нинужные, то можно и обосраться невзначай.

Да и в конце концов это просто теоретический интерес. Разве не хочется в деталях понимать, как работает тот язык, на котором ты на хлеб зарабатываешь или собираешься зарабатывать?

Ответы1758245809

129 16 июня, 14:53 129 1417226

>>1417081
Но мы то с тобой знаем что ты нашел только хуй в жопе. А я заюзал https://codepen.io и все

Ответы17227

130 16 июня, 15:03 130 1417227

>>1417226
У меня нет жопы. Спина сразу в ноги переходит. Ты с собой спутал.

Но тебе говноеду пидорасовичу всё же дам ссылку https://stackoverflow.com/questions/23444125/how-to-change-position-of-output-panel-in-sublime-text

131 16 июня, 15:23 131 1417233

>>1417219
Да потому что ты пизда кривосекельная. Если у тебя блок с задержкой вылазит, то и предусмотри задержку, в чём проблема? Да и не похуй ли твоему скрипту, отрисовалось ли оно на экране, или ещё нет?

Ответы17239

132 16 июня, 15:32 132 1417239

>>1417233
Блет я думал ето логично что обработчик в клике обрабатывается после клика, а ставить задержку в setTimeout ето костыль какой-то. Я из этого div данные еще беру

Ответы1724017241

133 16 июня, 15:34 133 1417240

>>1417239
А хотя я понел в чем ошибся, я вызываю функцию при щелчке, вот я слоупок

134 16 июня, 15:37 134 1417241

>>1417239
Конечно, костыль, а куда твоему калечному коду без костылей? Есть разные обработчики: цлицк, моусеДовн, моусеУп. Смотря что тебе надо.

135 16 июня, 15:42 135 1417245

>>1417145
>Для большинства нормальных компаний в индустрии стандарт - airbnb
кто такие чем знамениты как пробились в главпетухи?

136 16 июня, 18:47 136 1417323

Если топят за let и const пощему еще используют var, зочем из языка делать кашу?

Ответы1732817338

137 16 июня, 18:51 137 1417328

>>1417323
чтобы старые сайты не наебнулись

Ответы17343

138 16 июня, 19:01 138 1417338

>>1417323
потому что у лет и вар разная семантика, еба

Ответы17354

139 16 июня, 19:03 139 1417343

>>1417328
Ну я слышал про эту версию, поддержка легаси все дела, пусть переделывают по новой как python2 to python3.

140 16 июня, 19:11 140 1417354

59 Кб, 860x82344 Кб, 881x399

>>1417338
Один арет про стандарт airbnb, который гласит шо везде надо юзать let или const, другой топит за var, ну понятно шо у вар глобальная область видимости. Видимо семантика var больше никому нинужна.

А теперь объясняй, еба

Ответы1735717699

141 16 июня, 19:14 141 1417357

>>1417354
По-русски не мог написать, мудила?

Ответы17360

142 16 июня, 19:17 142 1417360

>>1417357
рузкий слишком ущербный язык

Ответы1737017372

143 16 июня, 19:35 143 1417370

>>1417360
А зачем ты тогда на нем общаешься, ущербыш?

Ответы17374

144 16 июня, 19:39 144 1417372

>>1417360
Так пиздуй отсюда, хули ты среди русских забыл?

Ответы17374

145 16 июня, 19:41 145 1417374

>>1417370
>>1417372
noobs triggered

146 17 июня, 06:28 146 1417508

Пидарасы атакуют! https://www.youtube.com/watch?v=fSN3LVbXTkg

Ответы1751017563

147 17 июня, 06:46 147 1417510

>>1417508
Норм, все виноваты, кроме пидарасов.

148 17 июня, 08:03 148 1417511

Что значит погонять по структурам данных?

Ответы17515

149 17 июня, 08:14 149 1417515

>>1417511
Расскажи что такое стек и чем отличаются от списка. Как работает хеш-таблицы?

Ответы1751717519

150 17 июня, 08:18 150 1417517

>>1417515
>что такое стек и чем отличаются от списка
Ничем
мимо функциональщик

151 17 июня, 08:25 151 1417519

>>1417515
> Расскажи что такое стек и чем отличаются от списка
Пиздец ёбик. Спрашивают пояснить отличие стека от хипа, а не от списка.

Ответы1752017521

152 17 июня, 08:29 152 1417520

>>1417519
На твоей галере в гавносранске? Ок

Ответы17524

153 17 июня, 08:34 153 1417521

>>1417519
Открой себе знание о разных значениях одного слова.

154 17 июня, 08:36 154 1417523

но это же несложно
ну кроме хипа, с ним как-то не доводилось в джс сталкиваться, надо подучить

Ответы17525

155 17 июня, 08:37 155 1417524

>>1417520
Твой вопрос лишён смысла, ещё раз тебе говорю, мудень. Я с таким же успехом могу спросить "чем отличается стек от пизды твоей мамаши". Ох уж и не повезет кому-то, если его будет интервьюировать вот такой безграмотный имбецил.

Ответы17526

156 17 июня, 08:38 156 1417525

>>1417523
Стек, список, двунаправленный список, хеш-таблицы, b-trees, rb-trees, avl-trees, крути деревья, пидор!

Ответы17530

157 17 июня, 08:39 157 1417526

>>1417524
Узбагойся ебаклак https://en.wikipedia.org/wiki/Stack_(abstract_data_type)

Хотеть кормить толстых

Ответы17528

158 17 июня, 08:40 158 1417528

>>1417526
Это не троль, это тупица)

Ответы17529

159 17 июня, 08:41 159 1417529

>>1417528
Я хочу ломать его
https://en.wikipedia.org/wiki/Heap_(data_structure)

160 17 июня, 08:43 160 1417530

>>1417525
>Стек, список, двунаправленный список, хеш-таблицы
знаю, остальное нет -_-
не пройду я собес с верчением деревьев, буду надеяться джунов не заставляют

Ответы1753317536

161 17 июня, 08:44 161 1417532

ах да би-деревья тоже знаю

162 17 июня, 08:45 162 1417533

>>1417530
>буду надеяться джунов не заставляют
Понятия не имею. я мамкин борщехлёб

163 17 июня, 09:06 163 1417536

>>1417530
Джуну заставляют только парашу драить на скорость, так что не переживай.

Ответы17538

164 17 июня, 09:11 164 1417538

>>1417536
Лишь бы в Candy Crush играть не заставляли

Ответы17540

96 Кб, 698x479
165 17 июня, 09:23 165 1417540

>>1417538

166 17 июня, 09:47 166 1417548

Господа, подскажите макаке как быть. Есть vue-каталог игр для игрового клуба, с помощью axios'a подтягивается .json-файлик со списком игр, выводится на страницу в виде сетки, игры разделены по категориям - htc, psvr, ps4, "все" - нужно, чтобы при клике на какую-то категорию фильтровать этот самый список, а при клике на "все" - выводился очевидно изначальный список всех игр, ну и чтобы изначально эта категория "все" выводилась.
Демка:
https://codesandbox.io/s/driv3r-9mb88?fontsize=14

Ответы1755017553

167 17 июня, 09:49 167 1417550

>>1417548
Где-то я тебя уже видел...

Ответы17554

168 17 июня, 09:52 168 1417553

>>1417548
Фильтруй в gamesByTitle

sage 169 17 июня, 09:54 169 1417554

>>1417550
он все упорно думает ему за него кто-то писать будет лол

Ответы17557

170 17 июня, 09:56 170 1417557

>>1417554
Уж написал бы n раз.

171 17 июня, 10:15 171 1417563

>>1417508
Тьюринг был гей, все понятно теперь, то-то у меня жопа болит от постоянного сидения

Ответы17565

172 17 июня, 10:22 172 1417565

>>1417563
На чём Вы там сидите, молодой человек?

173 17 июня, 11:21 173 1417582

>>1417224
>Разве не хочется в деталях понимать, как работает тот язык, на котором ты на хлеб зарабатываешь или собираешься зарабатывать?
Не хочется. Нужно уметь быстро нахуярить и в продакшн, ибо сроки навчера и конкуренты. А деталеебство не всралось.

Ответы175871764817711

174 17 июня, 11:36 174 1417587

>>1417582
А вот как без var то. Не жили без var, неча и начинать.

175 17 июня, 12:42 175 1417617

Парни, как вы пишите свои React приложухи где надо API для аяксов хуяксов использовать? Чем-то мокаете? Моя идея делать тестовый сервак на фласке кажется мне сомнительной из-за разницы в url. Прописывать константы тоже бредово, потому что перед продакшеном придется все чистить вилкой.

Ответы1764817649

176 17 июня, 13:27 176 1417648

>>1417582
С кем ты конкурировать собрался с таким подходом, чушка? С обезьянами, которым дали клавиатуру поиграться? Ну ты и на их фоне ничтожен.

>>1417617
> придется все чистить вилкой
Так это и есть твоя работа - говно вилкой чистить, хреньворкщик.

Ответы1765017751

177 17 июня, 13:28 177 1417649

>>1417617
.env

178 17 июня, 13:29 178 1417650

>>1417648
соси

7 Кб, 412x104
179 17 июня, 13:52 179 1417664

Есть значит три параграфа у одного айдишник one
Есть пикрелейтед жс код.
Очевидно хочу при клике, чтоб цвет бекграугда менялся на заданный.
Если let сменить на var то работает, а так нет. Понимаю, что то-то с областью видимости связано, но сам чет не могу понять, помогите братишики, вкатился вчера.

Ответы1766617667

180 17 июня, 13:57 180 1417666

>>1417664
А нет, наебал, заработало после того как тег скрипта воткнул в конец body, че за хуйня?

Ответы17670

5 Кб, 719x82
181 17 июня, 13:59 181 1417667

>>1417664
Всё работает, у тебя просто руки из жопы растут, как и голова.

Ответы1766917689

182 17 июня, 14:01 182 1417669

>>1417667
нет, ты уебок, у меня js в отдельном файле и работает только если включить его в конец бади, а из хеда не работает.

Ответы1767117689

183 17 июня, 14:01 183 1417670

>>1417666
Обезьяна винторогая, а ничего, что у тебя твой ёбаный тег идёт после скрипта, и он его просто не видит?

Ответы17674

184 17 июня, 14:02 184 1417671

>>1417669
> конец бади
Чей конец?

Ответы17673

185 17 июня, 14:04 185 1417673

>>1417671
Кто бы сомневался, ты еще боевую картиночку притащи.

186 17 июня, 14:06 186 1417674

>>1417670
Свинья, нахуй ты мне вообще отвечаешь тут, если сам блять нихуя не знаешь про жс? Пошел нахуй просто у меня как у бати жс отдельно хтмл отдельно, а ты дегенерат все в одну кучу пишешь поэтому и не понимаешь о чем, ебал твою мать.

Ответы177951811018127

187 17 июня, 14:34 187 1417689

>>1417667
двачую

>>1417669
да пофиг вообще в каком он у тебя файле, на поведение влияет где именно ты его вставил а не то, написал ты его прямо там или импортировал. скрипт который должен дождаться загрузки страницы ставится в конец страницы или оборачивается в addeventlistener domcontentloaded

Ответы17695

188 17 июня, 14:44 188 1417695

>>1417689
>ставится в конец страницы или оборачивается в addeventlistener domcontentloaded
Кантор завещал ставить defer

Ответы17798

189 17 июня, 14:50 189 1417699

>>1417354
кто топит за вар-то?
Что за тупой вопрос?
Если тебе не нужен глобальный скоп (а он тебе почти никогда не нужен), делаешь лет и конст
Если нужен, делаешь вар
Хули вы, яваскрипторы, такие тупые?

Может, тебе еще объяснить, почему в одном случае используют оператор +, а в другом - ?

Ответы17707

190 17 июня, 15:06 190 1417707

>>1417699
тебе никто не помешает сделать глобальный лет или конст

Ответы17930

191 17 июня, 15:09 191 1417711

>>1417582
> Не хочется
Не хочется тебя расстраивать, но на галерах с таким подходом ты далеко не уедешь.

Ответы17751

192 17 июня, 15:34 192 1417735

объясните за наследование пустого класса плиз
ну например class NewClass extends OldClass {}
что будет с конструктором, тут ведь нет никакого super(...args),будет ли у нового класса доступ к методам старого?

193 17 июня, 15:35 193 1417738

что то написал и подумал что я дурак и могу сам проверить
просто с телефона пишу сорри

194 17 июня, 15:38 194 1417742

Есть вопросик по прототипному наследованию. оно тоже наверное нинужно, как и вары, но все же

Имеем такой код

function A() {
var number = 10;
this.show = function() { console.log(number) }
}

function B() {
A.call(this);
this.demo = function() { console.log (number) }
}

var obj = new B();

obj.show() // выведет в консоли 10;
obj.demo() // ошибка, number не определен

И собственно, вопрос. Если number запрятан в области видимости родителя, как b.show получает этот number? Ведь он получается уже "перенесен" из этого родителя и тоже не должен видеть number. Или я чего-то не уловил? Тут можно сказать про замыкания, но замыкания создаются в момент вызова функции. В момент функции obj.show() метод уже не должен дотягиваться через замыкание до number, так как он перенесен в конструктор B, а переменная оставалась в конструкторе A. Если же number во время A.call(this) тоже переносится, то почему его не видит obj.demo?

Ответы17744177501777617778

195 17 июня, 15:42 195 1417744

>>1417742
или же получается, что number передается в замыкание this.show() в тот момент, когда вызывается A.call(this)? Но ведь замыкание создается в момент вызова, а во время A.call(this) не вызывается this.show() - она просто записывается. Во время вызова this.show() же уже не должна видеть number в замыкании, так как она уже перенесена из конструктора-родителя

Ответы17748

196 17 июня, 15:45 196 1417748

>>1417744
>В момент функции obj.show() метод уже не должен дотягиваться через замыкание до number
Нет. Замыкания работают как раз наоборот, где в коде функция обозначена, оттуда она и будет смотреть. Если ты хочешь пользоваться наследованием, то используй this.number = 10, console.log(this.number)

Ответы17756

197 17 июня, 15:48 197 1417750

>>1417742
> A.call(this);

а это точно прототипное наследование? я не вижу никакой манипуляции с прототипом...

Ответы17756

198 17 июня, 15:48 198 1417751

>>1417711 >>1417648
Что будет если [] + [{}.a]==='true' && !!!!!!!!!!!!!!!("foo"+true).bind([])

Ответы177691777917790

199 17 июня, 16:00 199 1417756

>>1417748
Понятно, перемудрил я значит)
>>1417750
я оговорился, хотел сказать функциональное офк

200 17 июня, 16:17 200 1417769

>>1417751
Прикольная задачка

Массивы при сложении приводятся к строке, получается '{}.a' === 'true', что дает false

Восклицательных знаков там 15, что можно сократить до одного

То, что в скобках преобразуется к строке получается footrue

получается false && !('footrue').bind([]).

Конъюнкция запинается об ложь, то есть то что справа не выполняется, получаем ответ false

Ответы1777717786

201 17 июня, 16:27 201 1417776

>>1417742
Смотри в чём дело.
конструкция var obj = new B()
эквивалентна
var obj = {}; // создаём пустой объект
B.call(obj); // Инициализируем его функцией B

У тебя что происходит в коде:
var obj = {};
B.call(obj)
дальше, запускается функция B, в котором определена переменная this = obj
дальше ты запускаешь A.call(this), или A.call(obj), если раскрутить код.

внутри A аналогично, есть переменная this, которая твой объект jbo, и локальная переменная number.
дальше ты в объект this = obj добавляет переменную show. Именно так у тебя в коде. Это show - функция, которое печатают переменную number. В этот момент происходит связывание переменной number и функции show, но на объекте obj это никак не отображается.

Дальше в функции B ты к своему объекту добавляешь переменную demo, которая тоже функция. Но только никаких локальных переменных number уже нет, не забывай, что она связана с функцией show.

В итоге, ты имеешь объект obj, в котором два аттрибута, две переменные - функция show и функция demo. Но это независимые функции, у каждой свой контекст.

Ты мог бы сделать так:
function A() {
var number = 10;
this.show = function() { console.log(number) }
}

function B() {
// A.call(this); убираем это
this.demo = function() { console.log (number) }
}

var a = new A();
var obj = new B();
obj.show = a.show;

201 17 июня, 16:27 201 1417776

>>1417742
Смотри в чём дело.
конструкция var obj = new B()
эквивалентна
var obj = {}; // создаём пустой объект
B.call(obj); // Инициализируем его функцией B

У тебя что происходит в коде:
var obj = {};
B.call(obj)
дальше, запускается функция B, в котором определена переменная this = obj
дальше ты запускаешь A.call(this), или A.call(obj), если раскрутить код.

внутри A аналогично, есть переменная this, которая твой объект jbo, и локальная переменная number.
дальше ты в объект this = obj добавляет переменную show. Именно так у тебя в коде. Это show - функция, которое печатают переменную number. В этот момент происходит связывание переменной number и функции show, но на объекте obj это никак не отображается.

Дальше в функции B ты к своему объекту добавляешь переменную demo, которая тоже функция. Но только никаких локальных переменных number уже нет, не забывай, что она связана с функцией show.

В итоге, ты имеешь объект obj, в котором два аттрибута, две переменные - функция show и функция demo. Но это независимые функции, у каждой свой контекст.

Ты мог бы сделать так:
function A() {
var number = 10;
this.show = function() { console.log(number) }
}

function B() {
// A.call(this); убираем это
this.demo = function() { console.log (number) }
}

var a = new A();
var obj = new B();
obj.show = a.show;

Показать весь текст
Ответы17787

202 17 июня, 16:28 202 1417777

>>1417769
Но все же интересно, что случилось бы справа, если бы до туда вычисления дошли. У получения метода и вызова функции приоритет выше, чем у логического отрицания, то есть это эквивалентно !(('footrue').bind([]))

Но у строк нет метода bind. Вызов отсутствующего метода должен выкинуть ошибку.

203 17 июня, 16:31 203 1417778

>>1417742
и тут уже написали, правильно оформлять код иначе, через прототипы:

A.prototype.show = function() {....}

В противном случае, если ты делаешь 1000 объектов, то ты создаёшь при этом и 1000 копий функций.

14 Кб, 300x300
204 17 июня, 16:32 204 1417779

>>1417751
я надеюсь меня подобное не будут спрашивать на собеседовании, я очень расстроюсь

Ответы17793

205 17 июня, 16:42 205 1417786

>>1417769
>Массивы при сложении приводятся к строке, получается '{}.a'
[] + [{}.a] дает пустую строку

Ответы17791

206 17 июня, 16:44 206 1417787

>>1417776
Спасибо, понятно. Значит, функция запоминает свой контекст еще во время своей записи, а не во время непосредственного вызова.

10 Кб, 240x143
207 17 июня, 16:50 207 1417790

>>1417751
будет пикрелейтед

208 17 июня, 16:50 208 1417791

>>1417786
И правда. Но {}.a вообще является undefined, так что при строковом преобразовании оно должно преобразоваться в 'undefined'

Ответы17792

209 17 июня, 16:52 209 1417792

>>1417791
>Но {}.a вообще является undefined
Да.
[] + [undefined] равно пустая строка

Ответы17796

210 17 июня, 16:53 210 1417793

>>1417779
Если ты джуна, то именно это и будут спрашивать.

211 17 июня, 16:58 211 1417795

>>1417674
Ебать, шлюхин сын как раскукарекался. Конец у бати он сосёт, пиздец, блядь, пидор ебаный.

212 17 июня, 16:58 212 1417796

>>1417792
Это связано с тем, что элемент undefined в массиве соответствует отсутствующему элементу?

Ответы17799

213 17 июня, 17:00 213 1417798

>>1417695
А он сдох уже, что ли, и даже завещание оставил?

214 17 июня, 17:04 214 1417799

>>1417796
Ха, ввел
console.log([undefined, undefined] + '')

и вывелась только запятая. Значит, элемент undefined и правда равен отсутствующему

в этом можно убедиться, если ввести

arr = [1, 2, 3, 5];

console.log(arr[10]);

То есть десятого элемента там нет, но при его получении выводится тот же undefined. Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента.

Интересно)

Ответы17803178061780817813

215 17 июня, 17:19 215 1417803

>>1417799
нет, undefined, отсутствующий элемент и '' - это совсем разные случаи.

Вот когда ты делаешь приведение массива с undefined к строке, JS интерпретирует undefined как пустые строки.

Запятая у тебя вывелась потому, что [undefined, undefined] превратился в ",".

Ответы17807

216 17 июня, 17:20 216 1417805

>>1416079 (OP)
Ананасы, драсти вам. Вы можете пояснить, как скрывать треды автоматом через скрытие в настройках двача? Куда и что писать, что бы например не видеть тредов с оп-постами, включающими в себя "вжлинк". Поясните позязя.

217 17 июня, 17:21 217 1417806

>>1417799
>Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента.
ну массив же объект где индексы это строки ключи, ну т.е. если нет такого ключа его значение андефайнед и если есть такой ключ и ему присвоено значение андефайнед он тоже андефайнед

218 17 июня, 17:22 218 1417807

>>1417803
>Запятая у тебя вывелась потому, что [undefined, undefined] превратился в ",".

ну это я понял. Я имел в виду, что при приведении к строке undefined становится пустым элементом (и соответственно пустой строкой), хотя по идее он должен был бы приводиться в 'undefined' - ведь строковое преобразование этого типа вне массива именно такое

Ответы17811

219 17 июня, 17:22 219 1417808

>>1417799
>То есть десятого элемента там нет, но при его получении выводится тот же undefined. Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента.
не значит, это функция получения элемента из массива, или геттер, возвращает тебе значение undefined, если элемента нет. Ей просто надо что-то вернуть, вот и возвращает, как умеет.

Ответы17812

220 17 июня, 17:23 220 1417810

но разница есть если ты затребуешь список ключей или просто измеришь длину массива

221 17 июня, 17:23 221 1417811

>>1417807
>хотя по идее он должен был бы приводиться в 'undefined'
Детка, это JavaScript, какие идеи, какая логика?

222 17 июня, 17:24 222 1417812

>>1417808
эм, а зачем нужен геттер если доступ по ключам

Ответы17817

223 17 июня, 17:25 223 1417813

>>1417799
удобнее и нагляднее пользоваться консолью nodejs для таких вот опытов

224 17 июня, 17:33 224 1417817

>>1417812
Но внутри машины-интерпретатора JS там всё равно фактически реализация через геттер. И у тебя два варианта, или надо вернуть какое-то значение, или выбросить исключение.

Так решили, что всё-таки надо возвращать какое-то значение, с точки зрения кодирования так удобнее.

> var m = []
undefined
> m[10] = undefined
undefined
> m
[ <10 empty items>, undefined ]
> m[5]
undefined
> m[10]
undefined
> 5 in m
false
> 10 in m
true
> m.length
11

Там вообще магии много. Вот тут пример, я присваиваю undefined элементу 10, у меня получается вроде как массив из 11 элементов. Но при этом первых десяти (0-9) нет, а 10-ый undefined.

Ответы178221782517837

225 17 июня, 17:38 225 1417822

>>1417817
Занятно. А преобразование элемента undefined к пустой строке при строковом преобразовании массива тоже, получается, напрямую прописано где-то в методе toString прототипа массива?

226 17 июня, 17:40 226 1417825

>>1417817
>Вот тут пример, я присваиваю undefined элементу 10, у меня получается вроде как массив из 11 элементов. Но при этом первых десяти (0-9) нет, а 10-ый undefined.
ну это-то понятно т.к. массивы в джс не массивы а хэш таблицы

Ответы17830

227 17 июня, 17:54 227 1417830

>>1417825
там что-то среднее между массивом и хеш-таблицей. В классической хеш-таблице, когда я делаю m[100000] = 1, если до этого таблица была пустая, то в итоговой был бы 1 элемент. Но в JS получается, что у тебя уже 100001 элемент, но при этом под остальные не выделена память и они значений не имеют. То есть остальные не undefined, а какое-то другое, неопределённое значение имеют.

Ответы17834

228 17 июня, 18:02 228 1417834

>>1417830
а выделяет ли он память? тогда было бы логично и ключи им раздать и назначить андефайнед, а так ключ есть только у одного элемента, может это просто toString пишет <10 empty items> а на самом деле их и нету...

Ответы17839

229 17 июня, 18:15 229 1417837

По-моему, дело обстоит так

Если мы создаем var m = [ ]

А затем пишем m[1000] = undefined

То внутри массив выглядит так

{ '1000' : undefined
length: ключ последнего элемента + 1 }

Это весь массив

То есть там нет, скажем, 500-го элемента, он не пустой, не неопределенный, его просто нет. Соответственно, память занимать нечему. Такое внутреннее понимание массива вполне укладывается в фичи, указанные здесь
>>1417817
когда мы получаем m[5] - undefined, то мы обращаемся к отсутствующему свойству массива, на деле там нет никакого ключа '5' с соответствующим значением. Согласно правилам джса, обращение к отсутствующему свойству возвращает undefined. Отсутствие этого свойства доказывается с помощью

> 5 in m
false

В то же время свойство '1000': undefined там есть. Поэтому 1000 in m вернет true

Ответы17838

230 17 июня, 18:17 230 1417838

>>1417837
>var m
Ты охуел?

Ответы17842

231 17 июня, 18:21 231 1417839

>>1417834
Нет, не выделяет. Этих emtpy items может быть очень много, 4 миллиарда (232).

Это просто какая-то неочевидная логика поведения. Фактически тут не массив, а некий хитрый объект. Свойство length этого объекта показывает не число элементов в нём, а индекс максимального элемента с численным ключом от 0 до 232, другие элементы не учитываются. Это сделано, наверное, для того, чтобы можно было удобно в цикле массивы обходить и для разных таких операций.

Например, если делать push(), то элемент добавится в конец, а не в первую свободную ячейку. pop() убирает элементы с конца, даже не определённые.

> var m = []
undefined
> m[1000] = 3
3
> m
[ <1000 empty items>, 3 ]
> m.length
1001
> m.pop()
3
> m
[ <1000 empty items> ]
> m.length
1000
> m.pop()
undefined
> m
[ <999 empty items> ]
> m.length
999

231 17 июня, 18:21 231 1417839

>>1417834
Нет, не выделяет. Этих emtpy items может быть очень много, 4 миллиарда (232).

Это просто какая-то неочевидная логика поведения. Фактически тут не массив, а некий хитрый объект. Свойство length этого объекта показывает не число элементов в нём, а индекс максимального элемента с численным ключом от 0 до 232, другие элементы не учитываются. Это сделано, наверное, для того, чтобы можно было удобно в цикле массивы обходить и для разных таких операций.

Например, если делать push(), то элемент добавится в конец, а не в первую свободную ячейку. pop() убирает элементы с конца, даже не определённые.

> var m = []
undefined
> m[1000] = 3
3
> m
[ <1000 empty items>, 3 ]
> m.length
1001
> m.pop()
3
> m
[ <1000 empty items> ]
> m.length
1000
> m.pop()
undefined
> m
[ <999 empty items> ]
> m.length
999

Показать весь текст

232 17 июня, 18:22 232 1417842

>>1417838
В консоли nodejs так удобнее, вот почему:
> var x = 10
undefined
> var x = 10
undefined
> let y = 10
undefined
> let y = 10
SyntaxError: Identifier 'y' has already been declared
> let x = 10
SyntaxError: Identifier 'x' has already been declared

Ответы17853

233 17 июня, 18:28 233 1417852

Но! Мои же слова опровергаются следующим кодом

var arr = [ ]

arr[1000] = 10;

console.log(arr.toString())

Вы увидите в консоли кучу запятых и десятку. То есть при преобразовании к строке мы видим. Если бы массив был представлен, как я сказал выше, то никаких бы запятых бы не было

С другой стороны, далеко не факт, что во внутренней реализации массива есть именно 1000 пустых элементов. Вполне вероятно, что это метод toString нам выводит такую форму.

То есть мы имеем под капотом

{ 1000: 10,
length: ключ последнего элемента + 1,
toString: function() {
str = '' // пустая строка, а не двойная кавычка ;)
for (var i = 0; i < arr.length; i++) {
if(arr) str += arr
str += ', '
}
return str
}
}

Звучит правдоподобно?

233 17 июня, 18:28 233 1417852

Но! Мои же слова опровергаются следующим кодом

var arr = [ ]

arr[1000] = 10;

console.log(arr.toString())

Вы увидите в консоли кучу запятых и десятку. То есть при преобразовании к строке мы видим. Если бы массив был представлен, как я сказал выше, то никаких бы запятых бы не было

С другой стороны, далеко не факт, что во внутренней реализации массива есть именно 1000 пустых элементов. Вполне вероятно, что это метод toString нам выводит такую форму.

То есть мы имеем под капотом

{ 1000: 10,
length: ключ последнего элемента + 1,
toString: function() {
str = '' // пустая строка, а не двойная кавычка ;)
for (var i = 0; i < arr.length; i++) {
if(arr) str += arr
str += ', '
}
return str
}
}

Звучит правдоподобно?

Показать весь текст
Ответы1785417862

234 17 июня, 18:28 234 1417853

>>1417842
Кстати, вот чего не знал. Значение length массива можно перезаписать. И если это значение будет меньше N, то все элементы с индексом больше будут похерены

> m = []
[]
> m[1000] = 123
123
> m.length
1001
> m
[ <1000 empty items>, 123 ]
> m.length = 2000
2000
> m
[ <1000 empty items>, 123, <999 empty items> ]
> m[1000]
123
> m.length = 400
400
> m[1000]
undefined
> m
[ <400 empty items> ]
> m.length = 2000
2000
> m
[ <2000 empty items> ]
> m[1000]
undefined

234 17 июня, 18:28 234 1417853

>>1417842
Кстати, вот чего не знал. Значение length массива можно перезаписать. И если это значение будет меньше N, то все элементы с индексом больше будут похерены

> m = []
[]
> m[1000] = 123
123
> m.length
1001
> m
[ <1000 empty items>, 123 ]
> m.length = 2000
2000
> m
[ <1000 empty items>, 123, <999 empty items> ]
> m[1000]
123
> m.length = 400
400
> m[1000]
undefined
> m
[ <400 empty items> ]
> m.length = 2000
2000
> m
[ <2000 empty items> ]
> m[1000]
undefined

Показать весь текст
Ответы1785617864

235 17 июня, 18:30 235 1417854

>>1417852
if(arr) str += arr

if (arr) *

Ответы17855

236 17 июня, 18:31 236 1417855

>>1417854
да что за...

if(arr)

Ответы17857

237 17 июня, 18:31 237 1417856

>>1417853
интересно тестировали ли это вообще...

Ответы17868

238 17 июня, 18:32 238 1417857

>>1417855
if (arr индекс i)

Почему-то квадратные скобки с i экранируются, лол

Ответы17863

239 17 июня, 18:38 239 1417862

>>1417852
Под капотом, по всей видимости, есть объект, у которого определён атрибут length

это интерпретируется как массив длины length. Все элементы этого объекта с ключом от 0 до 2 32 интерпретируются как элементы массива. Все другие элементы, с большими ключами или со строковыми ключами, живут своей жизнью.

Если ты записываешь какой-то ключ, то автоматически корректируется атрибут length. Если уменьшить length, то элементы массива с большим индексом удаляются, но с другими ключами остаются, они живут своей жизнью. Преобразование к строке работает примерно так, да. Скорее всего это в стандарте описано.

Как это технически реализовано, уже ХЗ, может быть и очень сложно реализовано и каждая машина по-своему может поступать.

240 17 июня, 18:38 240 1417863

>>1417857
квадратные скобки с i это курсив

241 17 июня, 18:40 241 1417864

>>1417853
>Кстати, вот чего не знал. Значение length массива можно перезаписать.
пиздец, вы откуда лезете? из хэлоу ворлда сразу в хреньворки прыгаете?

Ответы1787217873

242 17 июня, 18:41 242 1417866

Ну, то, что массив есть объект, является очевиднейшим фактом. Ведь вы легко можете сделать так

var arr = [ ]

arr.abc = 'hello world'

console.log(arr.abc)

Вопрос лишь в том, каким именно образом под капотом все это реализовано)

Ответы17870

243 17 июня, 18:43 243 1417868

>>1417856
Кстати в отличии от PHP, который клепали на коленке, JS вроде разрабатывался Netskape, серьёзной конторой. Но логика неочевидная. Я думаю, что клепали так, чтобы для примитивных случаев работало просто и понятно. Но в сложных случаях и по реализации из-за этого магия начинается. Никто не думал, что на JS будут какие-то серьёзные приложения писать.

Ответы1787217909

244 17 июня, 18:45 244 1417870

>>1417866
но только это совсем другой объект, и поведение его будет совсем другим, если бы ты тоже самое сделал как
var arr = {};
arr.abc = 'hello world';
console.log(arr.abc)

посмотри хотя бы на доступные методы и атрибуты. У обычного объекта атрибута length просто нет. И много чего ещё нет.

Ответы17876

245 17 июня, 18:46 245 1417872

>>1417864
Кантора презирают, а ведь в его учебнике это написано в одной из первых глав
Ух...

>>1417868
Ну мне кажется, что эта фишка очень даже полезна. Например, нам поступает куча массивов, и мы хотим, чтобы все они были приведены к одной длине x. Нет ничего проще, чем прогнать их по циклу и поставить каждому length = x;

А без этой фичи все было бы куда мудреней. Так что нормально сделали, маладцы

Ответы1788517888

246 17 июня, 18:46 246 1417873

>>1417864
Нет, учились на нормальных языках и не думали, что такой пиздец вообще возможен.

Ответы17890

247 17 июня, 18:50 247 1417876

>>1417870
Ну я имел в виду, что и массив и объект во внутренней реализации языка имеют общего предка) А так, понятно, что у массива куча своих методов

248 17 июня, 18:58 248 1417885

>>1417872
>Кантора презирают, а ведь в его учебнике это написано в одной из первых глав
>Ух...
это по большему счету бесполезное знание
равно как и другой платиновый пример из кантора выше >>1417060
годится только потроллить т.к. var не используются на практике равно как на практике никто не переписывает length массиву что вообще жуткая ересь и не должно быть возможно

Ответы17890

249 17 июня, 19:01 249 1417888

>>1417872
>Например, нам поступает куча массивов, и мы хотим, чтобы все они были приведены к одной длине x. Нет ничего проще, чем прогнать их по циклу и поставить каждому length = x;
спасибо проблевался
эта какой-то шедевр говнокодерской мысли

250 17 июня, 19:01 250 1417890

>>1417873
>>1417885
Безусловно, двачерам с дивана виднее, как надо языки разрабатывать

251 17 июня, 19:18 251 1417904

Добрый вечер, товарищи.
Подскажите в какую сторону копать?
Сам js не знаю, но есть небольшой проект, который нуждается в нем.
Суть: Есть два поля, вводишь в одно цифры, во втором появляется в реал-тайме это значение умноженное на 2.
Соответственно, вводишь в другое, там поделенное на 2.

Главное, чтобы цифры в реал-тайме выводились.

Какие методы/конструкции гуглить? читать книги по js не отправляйте

Ответы17936179391794717960

252 17 июня, 19:22 252 1417909

>>1417868
>JS вроде разрабатывался Netskape, серьёзной конторой
Его разработал один, полностью угашенный долбоеб за несколько дней.

253 17 июня, 19:37 253 1417930

>>1417707
И?
Что сказать-то хотел?
Свои вопросы уже все разрешил? Почему в языке есть вар и лет одновременно, и прочие проблемы тысячелетия.

Ответы1904919164

254 17 июня, 19:41 254 1417936

>>1417904
Есть куча демок из разных фреймворков, которые такое делают. Но на самом деле это элементарно реализовать на jsquery или даже на голом js

смотри здесь, например:
https://learn.javascript.ru/events-change

событие input
<input type="text"> oninput: <span id="result"></span>
<script>
var input = document.body.children[0];

input.oninput = function() {
document.getElementById('result').innerHTML = input.value;
};
</script>

Ответы17971

255 17 июня, 19:42 255 1417938

И с чего, мне долбоёбу начинать, если я ничего не знаю о погромировании?

Ответы17942

256 17 июня, 19:43 256 1417939

>>1417904
энджой
https://jsfiddle.net/m0pac4t1/1/

Ответы1794718035

257 17 июня, 19:44 257 1417942

>>1417938
И не нужно. Иди манагером по продажам работать, бабла больше заработаешь, бабы на тебя вешаться будут.

Ответы17950

258 17 июня, 19:48 258 1417947

>>1417939
>>1417904
я чуть иначе понял ТЗ, скорректирую этот пример как я понял:
https://jsfiddle.net/6grma970/

Ответы1796617971

259 17 июня, 19:50 259 1417950

>>1417942
Хорошо.

260 17 июня, 19:57 260 1417960

>>1417904
>читать книги по js не отправляйте
А потом ты придешь спрашивать, зачем нужен var? Попался, хреньворщик.

261 17 июня, 20:00 261 1417966

>>1417947
> vanilajs
Незачет. Нужно было на реакте, как минимум с тремя компонентами и редаксом.

262 17 июня, 20:03 262 1417971

>>1417936
>>1417947

Шикарно, благодарю!

Ответы17973

263 17 июня, 20:05 263 1417973

>>1417971
Сраный халявщик. Зарепортил

Ответы17980

264 17 июня, 20:15 264 1417980

>>1417973
Да совсем уже охуели, прямо сюда тз с работы несут, а тут им какие-то чепухи нахаляву делают. И учить не надо ничего.

Ответы1798218068

265 17 июня, 20:17 265 1417982

>>1417980
ТЗ с работы? Ты хоть раз работал в этой сфере? Какое нахуй ТЗ?

Ответы17985

266 17 июня, 20:20 266 1417985

>>1417982
ТЗ от учительницы по информатике :3

267 17 июня, 21:41 267 1418023

>>1416079 (OP)
Блед, я так понимаю, что в основной массе вакансии, где нужен жс это фронтенд? рикты, вью хуе мое вот это все?

Чет бесит вся эта залупа, вы там вообще используете алгоритмы базовые, хуе мое вот это или просто как мне кажется двигаете тазом блоки и играетесь с их поведением в браузере?

Ответы1803018049

268 17 июня, 21:59 268 1418030

>>1418023
>я так понимаю, что в основной массе вакансии, где нужен жс это фронтенд
А ты умный

Ответы18032

269 17 июня, 22:05 269 1418032

>>1418030
Я конечно понимаю, что это двач и жс тред, где концентрация детишек увеличивается на количество звезд во вселенной, но не до такой же степени.

6 Кб, 368x255
270 17 июня, 22:17 270 1418035

>>1417939

Ответы18048

271 17 июня, 22:45 271 1418048

>>1418035
NaN это число. Формально всё верно у него.

272 17 июня, 22:48 272 1418049

>>1418023
>вы там вообще используете алгоритмы базовые
Т.е. ты в каждом проекте используешь собственноручно написанные сортировку методом пузырька и обход бинарного дерева, да?
Или тебе нужны еще более базовые?

Ответы1806418066

273 17 июня, 22:53 273 1418052

познаю вебсокеты

Ответы18063

274 17 июня, 23:53 274 1418063

>>1418052
Держи нас в курсе

Ответы18065

275 17 июня, 23:53 275 1418064

>>1418049
Че несешь уебок, членодевка блядь, сука черти, идите в макдак работайте, а не ко мне в погромач, черт блядь. Жсо петух, который только и делает элементы таскает по экрану, умничать пытается, ебаный стыд.

276 17 июня, 23:54 276 1418065

>>1418063
Держу твою мать в заложниках своего хуя!

как я тебя, а? а? а? Держу твой уровень дегенерата-школьника%

277 17 июня, 23:58 277 1418066

>>1418049
Без finger trees жить не могу.

278 18 июня, 00:02 278 1418068

>>1417980
представил такую работу. ору

279 18 июня, 07:38 279 1418110

>>1417674
>Пошел нахуй просто у меня как у бати жс отдельно хтмл отдельно
Но ведь этот подход уже безнадёжно устарел с тех пор, как появился Реакт, который позволяет писать JS и HTML вместе.

Ответы18145

sage 280 18 июня, 08:57 280 1418127

>>1417674
маня скоро html объявят deprecated в пользу jsx и постепенно будут убирать его поддержку в браузерах. посмотрим тогда что ты кукарекать будешь питушок

281 18 июня, 09:38 281 1418145

>>1418110
Но зачем?

282 18 июня, 15:24 282 1418276

https://cs.chromium.org/chromium/src/v8/src/objects/js-objects.cc?sq=package:chromium&g=0

Я, кажется, нашел исходный код джаваскрипта!

Но проблема в том, что там все на языке СИ. Но ведь некоторые внутренние методы, скорее всего, написаны на самом js (например, методы массивов). Но если попытаться их прочитать из браузера, то ничего, кроме function slice { native code } мы не увидим. Так где же можно найти этот натив код? Или даже всякие простые встроенные методы написаны на си?

Ответы18287182911829218312

283 18 июня, 15:51 283 1418284

>>1416079 (OP)
как сделать, чтобы монга не торчала жопой наружу?

284 18 июня, 15:53 284 1418287

>>1418276
V8 никто и не скрывал
PS https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
браузер != chrome

285 18 июня, 15:55 285 1418291

>>1418276
>function slice { native code }
Так это и есть дерг твоего си.

286 18 июня, 15:55 286 1418292

>>1418276
>СИ
Кресты там

287 18 июня, 16:54 287 1418312

>>1418276
> Так где же можно найти этот натив код?
Например тут:
https://github.com/ccxvii/mujs/blob/master/jsarray.c#L229

Ответы18316183351833718352

288 18 июня, 17:11 288 1418316

>>1418312
О, спасибо!

289 18 июня, 17:23 289 1418335

>>1418312
Хм, там какой-то код относительно короткий) Я думал, будет 1000000 строчек

290 18 июня, 17:25 290 1418337

>>1418312
Это код из muJS. В других интерпретаторах он может отличаться.

291 18 июня, 17:45 291 1418352

>>1418312
Если правильно нашел, то вот slice в v8:
https://github.com/v8/v8/blob/bd0b0ce/src/builtins/array-slice.tq

Написан на этом:
https://v8.dev/docs/torque

Ответы18363

292 18 июня, 18:08 292 1418363

>>1418352
Вот это ахуенно!
Прямо с пошаговыми комментами из спеки.

293 18 июня, 20:04 293 1418466

Аноны, реквестирую помощь в выборе фреймворка.

Дано: фласк на бэке, ебаная мешанина из говна, jquery и нонейм плагинов, которые даже не гуглятся толком, на фронте. Фронт дубовый в плне добавления функционала просто пиздец, да еще и написан человеком-обфускатором.

Хочу нормально переписать и прекратить страдать.

Из особенностей- нагрузка по посещаемости минимальная, надо реалтайм выводить/обновлять довольно много инфы

Ответы18476

294 18 июня, 20:18 294 1418476

>>1418466
Так для чего фреймворк нужен-то?

Ответы18477

295 18 июня, 20:21 295 1418477

>>1418476
Сори, думал очевидно будет, что для фронта, это же JS тред

Ответы18481

296 18 июня, 20:29 296 1418481

>>1418477
На JS все, что угодно, можно делать. Для фронта бери React, быстро освоишь, легко перепишешь.

Ответы18484

297 18 июня, 20:32 297 1418484

>>1418481
Спасибо. А про vue что-нибудь можешь сказать?
коллега с соседнего цеха переписал свою хуйню на реакт, теперь хочет на вуе

Ответы1848618661

298 18 июня, 20:38 298 1418486

>>1418484
У них похожий подход, Vue можешь постепенно в свой проект встраивать, гугли ещё vuex тогда сразу.

Просто посмотри краткую суть обоих и выбери что-то под себя.

Ответы1848818597

299 18 июня, 20:44 299 1418488

>>1418486
Что если я хочу, чтобы браузеру сразу отдавался html без js или с минимум js?

Ответы1850918584

300 18 июня, 21:27 300 1418509

>>1418488
Ангуляр, бггг

301 18 июня, 23:34 301 1418584

>>1418488
>html без js
так уже никто не пишет, во-первых
во-вторых, виртуальный дом быстрее работает

Ответы18606

330 Кб, 1440x1080
302 18 июня, 23:49 302 1418591

Котаны, как в строке, содержащей пробелы и двоеточия, заменить их и их комбинации на дефисы?
Т.е. из "a b:c :: d" сделать "a-b-c-d" ? Прогнать строку через несколько strReplace?

Ответы1859418604186052014720403

303 18 июня, 23:52 303 1418594

>>1418591
Напиши нормальную регулярку и через один replace сделай.

304 18 июня, 23:56 304 1418597

>>1418486
>Vue можешь постепенно в свой проект встраивать
реакт тоже лол

305 19 июня, 00:19 305 1418604

>>1418591
let s = "a b:c :: d";
result = s.replace(/[: ]+/g, '-');

306 19 июня, 00:21 306 1418605

>>1418591
.replace(/[: ]+/g, '-') ?

Ответы18607

307 19 июня, 00:21 307 1418606

>>1418584
Но только индексация в поисковиках динамически сгенеренного HTML плохо работает.

Ответы1861119500

308 19 июня, 00:23 308 1418607

>>1418605
Ты украл часть моего кода в точности до символа. Встретимся в суде.

Ответы1861218902

309 19 июня, 00:25 309 1418611

>>1418606
SSR?

310 19 июня, 00:26 310 1418612

>>1418607
[: ]

311 19 июня, 08:39 311 1418661

>>1418484
Конечно вуэ бери, реакт не реактивный + на выходе нечитаемое говницо получится

312 19 июня, 18:02 312 1418902

>>1418607
/(?::|\s)+/g
Бамп

313 19 июня, 19:28 313 1418939

Анонче, jQuery mask кто-нибудь использовал? Как отключить маску для нуля?

sage 314 19 июня, 19:30 314 1418940

24 Кб, 500x500275 Кб, 800x600127 Кб, 1280x720372 Кб, 1019x831

>>1416081

Ответы18950

sage 315 19 июня, 19:30 315 1418941

98 Кб, 1519x522605 Кб, 951x1167

>>1416081

316 19 июня, 19:44 316 1418950

>>1418940
Я выгляжу как на верхней части последней картинки, но пишу на питоне и параллельно вкатываюсь в раст, планирую в го ещё.

Ответы1895219133

372 Кб, 1024x834
sage 317 19 июня, 19:46 317 1418952

>>1418950
Все равно ты зумер, даже не пытайся оправдываться.

Ответы1896518973

318 19 июня, 20:04 318 1418965

>>1418952
Я скорее думер, мне довольно скоро тридцатник, и я раньше 6 лет на С писал.

319 19 июня, 20:13 319 1418973

>>1418952
Пистон такая же старперская хуйня как и пердл. Его надо к остальной пыхоплеяде нарисовать.

320 19 июня, 21:57 320 1419049

>>1417930
Твоя агрессия говорит о том што ты вырос в:
а. в скрыто нарциссической семье
б. в открыто нарциссической семье
Психотерапия лечит оба варианта

Ответы19118

321 20 июня, 00:15 321 1419118

>>1419049
спешите видеть:
а. жабоскриптер
б. не может понять, зачем одновременно надо var, let и const в единственном языке, который хоть как-то смог осилить
в. с умным видом пизидит про очередную хуету, про которую ничего не знает

тебя, анончик, не вылечит ничто. ты как ромка-попрыгун, тебя лечить бесполезно. прыгай, болезный, прыгай дальше

Ответы19162

154 Кб, 1020x757
322 20 июня, 00:54 322 1419133

>>1418950
ты птичка?

323 20 июня, 05:47 323 1419162

>>1419118
Ну так ты расскажи зачем. Пример там приведи например.
мимо

324 20 июня, 05:58 324 1419164

>>1417930
очевидно же - для обратной совместимости чтобы не ломать веб

325 20 июня, 06:02 325 1419166

алсо в принципе можно нарисовать что-нибудь где удобнее функциональный а не блок скопинг, например свитч

326 20 июня, 12:00 326 1419316

>>1417033
Мань, зачем ставишь скобки после однострочного цикла? Дрочишь на лайнкаунт небось? И вообще что за дичь на скринах?

Ответы19489194983737137372

327 20 июня, 12:04 327 1419317

>>1417142

ЖИЛИ У БАБУСИ
ДВА ВЕСЕЛЫХ ГУСЯ
ОДИН ЖЕЛТЫЙ, ВТОРОЙ СИНИЙ
СЛАВА УКРАИНЕ!

Ответы19346

328 20 июня, 12:05 328 1419319

>>1417203
Ясно, очередной манягребец-красноглазик на галерах. Хххртьфу на тебя.

55 Кб, 896x768
329 20 июня, 12:43 329 1419346

>>1419317

330 20 июня, 18:29 330 1419489

>>1419316

Мне тимлид говорил, что скобки надо ставить всегда. Понятно, что с одной строкой будет работать и без них, но код пишется для человека, а не для машины. И со скобками он, дескать, лучше читаем. Плюс иногда возникает необходимость добавить строчку тестового кода вроде того же console.log

мимо джун

Ответы37372

331 20 июня, 18:44 331 1419498

>>1419316
Во всех современных стандартах оформления кода скобки считаются обязательными, даже когда язык позволяет их опустить. Тут и читаемость, и потенциальные баги, и много чего ещё.

Не ставить скобки очень дурной тон.

332 20 июня, 18:48 332 1419500

>>1418606
Для этого сервер надо (но можно и статику делать)

333 20 июня, 19:09 333 1419505

Приветствую.
У меня вопрос к react-антонам. Есть возможность перенести весь JSX в отдельный файл?

Ответы1950719511

334 20 июня, 19:20 334 1419507

>>1419505
Да наверно гвоздь.

335 20 июня, 19:27 335 1419511

>>1419505
Возможно, я тупой, но не понимаю постановку задачи. Весь jsx же это просто сахар для React.CreateElement, зачем его группировать в одном файле-то?

336 20 июня, 19:29 336 1419513

а я вот задумался, как написать подобную функцию на ES 2018(или может вы видели в либах)
пусть у нас есть объект let obj = {q: 1, w: 2, e: 4, t:5};
хочу функцию, которая бы принимала мой объект и ключи которые мне больше не нужны в новом объекте и возвращает новый объект без тех ключей

Ответы1951919526

337 20 июня, 19:46 337 1419519

>>1419513
>>1410556

Ответы19522

338 20 июня, 19:52 338 1419522

>>1419519
боже, спасибо анон, ты лучший, счастья тебе :з

339 20 июня, 19:59 339 1419526

>>1419513
https://codesandbox.io/s/sweet-galileo-xyn7l?fontsize=14

340 20 июня, 21:17 340 1419584

Кто-то из здешних юзал?
play.js - JavaScript IDE — nakiostudio S.L.
https://apps.apple.com/ru/app/play-js-javascript-ide/id1423330822
Или нахуй?

Ответы19659

341 20 июня, 23:32 341 1419640

Кто-нибудь из присутствующих писал свой интерпретатор Scheme на JS?

Ответы1964319675

342 20 июня, 23:40 342 1419643

>>1419640
я скоро дойду до той главы в еджс где показывают как на джаваскрипте можно написать яп

343 21 июня, 00:05 343 1419659

>>1419584
Охуенно, можно взять телефон в туалет и срать сразу в обе стороны.

344 21 июня, 00:38 344 1419675

>>1419640
Зачем?
Интерпретатор лиспа, как что-то сложное

345 21 июня, 20:37 345 1420137

>>1416404
переменная тру фалс. которая содержит информацию дозволено ли ОСТАНОВИТЬ функцию. вначале переменная =false. первый вызов без остановки.

обертка запрашивает переменную. если она false все норм функция выполняется. если она true происходит быстрая эвакуация и функция не выполняется.

вторая часть обертки.
- вызываю функцию. меняю переменную на ТРУ. теперь повторные вызовы из за этого значения переменной - не сработают. вызовут экстренный выход из обертки.

третья часть обертки. через ms*1000 секунд будет вызвана анонимная функция которая поменяет значение переменной ДОЗВОЛЕНО ЛИ ПРЕРВАТЬ на false

таким образом повторные вызовы обертки не срабатывают если они произошли в течении заданного времени.

346 21 июня, 20:50 346 1420147

>>1418591
str.split(" ").join("-").split(":").join("-")

разбить на массив по пробелу( соединить в строку дефисом
разбить на массив по двоеточию( соединить в строку дефисом(((

еще реплэйс и ^это будет тупить на двойных двоеточиях

Ответы2021720236

347 21 июня, 23:03 347 1420217

>>1420147
>это будет тупить на двойных двоеточиях
Оно не тупит. Он неправильно работает на всём не одинарном.

348 22 июня, 00:01 348 1420236

>>1420147
Ну и что ты высрал? Сказано же, что комбинации тоже менять надо.

349 22 июня, 14:42 349 1420403

>>1418591
"a b:c :: d".replace (/\W/g, "-")

Ответы2040520433

350 22 июня, 14:48 350 1420405

>>1420403
мб там после \W нужен +, что бы регулярка хавала каждый знак до конца строки

351 22 июня, 16:15 351 1420433

>>1420403
Символы удаляет

Ответы20601

352 22 июня, 19:18 352 1420496

>>1416079 (OP)
Где вообще занимаются версткой? Я, например, хочу вот попрактиковаться.
Мне что открывать текстовый редактор? А потом открывать файл в браузере и при малейшем косяке снова редактор и снова сайт в браузере? Нет ли какой-нибудь программы где можно в динамике видеть результат? Желательно под линукс.

Ответы20497

353 22 июня, 19:20 353 1420497

>>1420496
webpack dev server hot reload

Ответы20612

354 22 июня, 22:09 354 1420601

>>1420433
читни спеку уже, инб4 \W & \w два разных оператора, ну или либо ты там юзаешь кириллицу

Ответы20679

355 22 июня, 22:23 355 1420612

>>1420497
Ты Гитлер
https://ru.parceljs.org/getting_started.html

26 Кб, 480x360
356 23 июня, 00:53 356 1420679

>>1420601
$-=?,.

357 23 июня, 11:33 357 1420823

Аноны, встала задача одна, прошу совета. Сразу скажу, что вопрос касается Node. Есть некий алгоритм, который проверяет IP адреса, мне нужно чтобы при ошибке, краше, работа продолжалась с того же места, на котором произошёл краш. Проще говоря как сохранить стейт. Подскажите в каком направлении думать, гуглить.

Ответы2088321464

358 23 июня, 13:36 358 1420883

>>1420823
>Подскажите в каком направлении думать, гуглить

В сторону try/catch

Ответы21272

359 23 июня, 13:40 359 1420884

214 Кб, 958x1404190 Кб, 1160x890

Скриптаны, нужно сделать обертку для (local)Storage. Для каждого пользователя должны храниться его драгоценные настройки, поэтому в хранилище их буду класть как { user1: { color: 'red' }, user2: { color: 'blue' } }.
Выберите мне апи и названия еще за меня придумайте
Я бы сделал через обычные get/set, но хранилище асинхронное, боюсь понадобится ждать пока сохранение пройдет, а set мне промис не вернет

Ответы2089121360

360 23 июня, 14:53 360 1420891

>>1420884
С каких пор localStorage асинхронный?

Ответы20893

361 23 июня, 14:57 361 1420893

>>1420891
Там будет не localStorage, апи у него такое же getItem/setItem, просто возвращают промисы

362 23 июня, 22:46 362 1421250

Мало того, что этот тред умирает, так кто-то еще и второй создал. Похоже, js всё, как предсказывали, пора перекатываться.

Ответы21255

363 23 июня, 22:49 363 1421255

>>1421250
>Мало того, что этот тред умирает
Лето ебать. Жить жарко, не то что в треде срать.

364 23 июня, 23:24 364 1421272

>>1420883
Да причём тут обработка ошибок? Если выполнение завершилось по разным причинам, не только из-за ошибок.

Ответы2127621324

365 23 июня, 23:29 365 1421276

>>1421272
Поисследуй producer/consumer

Ответы21282

366 23 июня, 23:39 366 1421282

>>1421276
Хотя нет, смешно получится.
Сделай очередь тасков, у каждого таска отмечай начат он (и когда) или нет, producer пускай отдает только не начатые таски, consumer(ы) по завершению пускай отмечают таски как завршенные (или удалают их из очереди). И еще нужен сервис который по расписанию удаляет завершенные таски и убирает отметку у тасков которые начаты, но давно.

367 24 июня, 04:40 367 1421324

>>1421272
хм вангую тогда тебе нужен менеджер процесса, я юзаю релейт, мне это решение подходит: http://pm2.keymetrics.io/

368 24 июня, 09:05 368 1421360

>>1420884
Ну же анчоусы, а то мне стыдно будет на работе

Ответы21362

369 24 июня, 09:10 369 1421362

>>1421360
> стыдно будет на работе
>РАБОТЕ
Завистливые сучки не помогут тебе

2 Кб, 263x156
370 24 июня, 12:15 370 1421428

Код из книги you dont know js, тут на самом деле выводится undefined, а не 2. Почему все хвалят эту книгу, если она с ошибками? Тут 80% примеров не работают.

Причем автор сам пишет в прошлой главе, что мы не можем получить доступ к объекту области видимости, а потом обсирается во всех примерах кода в этой книге

Ответы214312143721471

371 24 июня, 12:21 371 1421431

>>1421428
УМВР

372 24 июня, 12:30 372 1421437

>>1421428
>тут на самом деле выводится undefined, а не 2
Консоль хрома возвращает 2. Твои оправдания?

Ответы21443

373 24 июня, 12:36 373 1421443

>>1421437
Программист в консоли хрома,ты видимо не знаешь, как она работает. Твои оправдания?

Ответы21444

374 24 июня, 12:38 374 1421444

>>1421443
>В книжке неправы, аноны неправы, компилятор бажный. Один я у мамы умный.
мимо

Ответы21447

375 24 июня, 12:40 375 1421446

>>1416079 (OP)
- что я хочу получить
Хочу вынести скрипты jQuery в отдельный файл при подключеном бутстрапе.

- что я для этого делаю
Подключил бутсрап, создал отдельный .js файл, подключил его к странице в теге <script>. При этом jQuery пашет если писать скрипты прямо в коде морды, т.е он подключен.

- что я вместо этого получаю
Кучу ошибок вида %хуйнянейм% undefined при попытке чето написать в отдельном файле. Перерыл весь инет - нихуя. Для написания кода пользуюсь Brackets.

Ответы2145023743

376 24 июня, 12:41 376 1421447

>>1421444
>у тебя компилятор неправильный))
>мимо
Шизик на каникулах, ты?

Ответы21448

377 24 июня, 12:42 377 1421448

>>1421447
Глазоньки разуваем и разметочку не игнорируем.

378 24 июня, 12:44 378 1421450

>>1421446
Надеюсь ты jq раньше своего файла подключил?

Ответы21452

379 24 июня, 12:47 379 1421452

>>1421450
>jq
Конечно.

Я как только не пробовал, некоторые пишут перед закрытием тега body подключать скрипт, некоторые пишут в head сразу после подключения jq. Ну или я говна начитался, но в любом случает нихуя не пашет.

Ответы2145421463

380 24 июня, 12:52 380 1421454

>>1421452
>codepen
Ну мы ждём.

Ответы21455

381 24 июня, 12:53 381 1421455

>>1421454
Не могу щас код скинуть.

382 24 июня, 13:06 382 1421463

>>1421452
Атрибут defer попробуй

Ответы21895

383 24 июня, 13:08 383 1421464

>>1420823
Не понятно, то ли процесс падает, то ли алгоритм

384 24 июня, 13:26 384 1421471

>>1421428
Код для брузера, где this должен ссылаться на window
Скорее всего, что ты в ноде запускаешь

Ответы2147521477

5 Кб, 344x236
385 24 июня, 13:31 385 1421475

>>1421471
УМВР

Ответы21480

11 Кб, 680x206
386 24 июня, 13:32 386 1421477

>>1421471
?

>Код для брузера
какая разница?
>должен
когда он успел задолжать? в книжке про глобальный объект сказано, нет ни слова о том, что это должен быть именно window

Ответы2147921487

387 24 июня, 13:37 387 1421479

>>1421477
>jsfiddle
лол

388 24 июня, 13:38 388 1421480

>>1421475
За модули речь
In browsers, the top-level scope is the global scope. This means that within the browser var something will define a new global variable. In Node.js this is different. The top-level scope is not the global scope; var something inside a Node.js module will be local to that module.

Ответы21489

389 24 июня, 13:47 389 1421487

63 Кб, 683x49516 Кб, 510x175

>>1421477
>какая разница?
>именно window

390 24 июня, 13:53 390 1421489

>>1421480
Вот это уже больше похоже на правду, спасибо этому анону.

391 25 июня, 11:13 391 1421895

>>1421463
Спасибо.

Тэкс, теперь скрипт в браузере работает, но в Brackets ошибки не перестали появляться, может дело в нем? Видимо он не понимает что в этом файле подключен jq и ругается, что делать?

392 28 июня, 09:21 392 1423743

>>1421446
> jQuery
> бутстрапе
Пиздец какой-то, ну ты и уёбок.

Ответы2401527962

393 28 июня, 16:42 393 1424015

>>1423743
Нет, ты

394 4 июля, 16:19 394 1427962

>>1423743
мне вчера в б говорили что человек не может быть стажером на реакте потому что для того чтобы знать реакт надо выучить жиквери и бутстрап

честное пионерское

6 Кб, 275x145
395 17 июля, 02:47 395 1437315

>>1416079 (OP)
АНОНЫ СПАСИТИ!!!! Есть ли возможность при помощи jquery спарсить страницу, после всех манипуляций на ней скриптов с DOMом. Типа есть сайт, при заходе на который дохуя контента грузится скриптами, мне нужно получить весь HTML код страницы после их прогрузки для дальнейшей обработки, но я нихуя не могу придумать или найти в нете как это сделать. При обычной конструкции как на пике выдает код скриптов но не результат их работы. Есть ли способ это сделать при помощи jquery, или php+jquery? Желательно с ссылками на примеры или примером кода.

Ответы373283736745240

396 17 июля, 04:53 396 1437328

>>1437315
https://stackoverflow.com/questions/13917047/how-to-get-a-content-script-to-load-after-a-pages-javascript-has-executed

Ответы37347

397 17 июля, 06:58 397 1437347

>>1437328
Ну и где там блядь хоть слово о получении полного домдерева страницы по урлу?

398 17 июля, 08:18 398 1437367

>>1437315
это не jq, a web scrapping, который работет ГРУБО ГОВОРЯ на backend, а не через jq

Ответы37381

399 17 июля, 08:27 399 1437371

>>1419316
Сразву видно быдлокодеров.
Однострочками без скобок только пишут неподдерживаемое и трудночитаемое гавно. Поссал на дауна

400 17 июля, 08:28 400 1437372

>>1419489
мимоджун перерастет >>1419316 этого

401 17 июля, 09:01 401 1437381

>>1437367
Ну и нахуй он мне нужен, что б я еще в него вникал, разбирался что это и напрягал мозги в попытка понять как применить эту парашу? Я просил помощи в конкретном примере. Почему все программисты не могут просто прямо ответить на поставленный вопрос, вечно блядь все усложняют. Типа "ну тебе надо прочесть вон ту книгу на 1000 страниц с мануалом там возможно будет решение твоего вопроса", притом что мне надо прописать всего 2-4 строки что б решить свою задачу. Сука и так каждый раз когда просишь помощи, раз 5 просил уже, всегда одно и тоже, куча каких то советов от которых хуй да нихуя, а по итогу решаю все сам. Ладно, поебать, я уже нашел как свое сделать.

Ответы37382

402 17 июля, 09:08 402 1437382

>>1437381
$(document)

4 Кб, 243x175
403 17 июля, 17:26 403 1437676

аноны есть переменая - обьект. в котором хранятся данные как напике. как прогнать построчно каждый элемент дом дерева внутри главного дива, включая то что не в тегах и обработать это?

Ответы3810139728

404 18 июля, 09:58 404 1438101

>>1437676
Ебать ты даун, братишка

Ответы38144

405 18 июля, 12:52 405 1438144

>>1438101
нет, ты

406 19 июля, 18:57 406 1439031

тред жаваскрыпт умер нахуй помянем

а вы еще переживаете за перегретый рыночек. успокойтесь, вы все еще не нужны, но теперь уже по другой причине.

Ответы39148

407 19 июля, 22:13 407 1439148

>>1439031
Слишком толсто...

408 21 июля, 01:56 408 1439728

но тред действительно умер

>>1437676
как они там хранятся? каконетудапопали?!

409 21 июля, 01:58 409 1439729

38 Кб, 902x4349 Кб, 421x128

Поясните второй пик, почему так? Ведь по очередности операторов сначала должен сработать member access и сразу же выдать type error.

Ответы39737

410 21 июля, 02:26 410 1439737

>>1439729
эмм, анон, ты свою левую картинку читал? там все считается слева направо
yoba - undefined, андефайнед в логических операторах срабатывает как false (оно falsey), поэтому вторая часть выражения после && даже не вычисляется
вот если ты заменишь && на || или поставишь yoba.a == 1 слева а не справа от && или поставишь слева что-нибудь равное true то он бросит ошибку т.к. не сможет определить yoba.a

Ответы39739

411 21 июля, 02:33 411 1439739

>>1439737
А ты читал левую колонку моей левой картинки? Там стоит приоритет оператора. И у member access он самый высокий. Значит сначала должен сработать он, потом ==, а потом уже &&

Ответы39740

412 21 июля, 02:36 412 1439740

>>1439739
ты не понимаешь как работает логические и/или
они вообще не вычисляют вторую половину если первая не false (true для или)
у операции которую даже не запустили не может быть приоритета

Ответы39744

413 21 июля, 02:37 413 1439741

*если первая false

108 Кб, 885x898
414 21 июля, 02:40 414 1439742

1. Есть лист компонентов (components):

<Day />
<Day />
<Day />

2. Каждый <Day /> компонент отображает информацию о калориях. ( <b>Calories:</b> {calories}, <b>Fat:</b> {fat}g, <b>Protein:</b> {protein}g, <b>Carbs:</b> {carbs}g )
3. Он берет инфу из states. const {calories, carbs, fat, protein} = this.state;
4. states пусты изначально. И изначально компонент ничего не отображает (до пункта 8 этого списка).
5. У меня есть метод "calculateCalories()" (внутри Day компонента), который подсчитывает калории и сохраняет их в стэйтс.
6. У меня есть кнопка, которая использует тот же метод (on click event). И эта кнопка работает отлично. Т.е. "calculateCalories()" прекрасно все считает. После данные видны в render() [пункт 2]

Но как только я загружаю страницу - ничего нет, конечно же.
Мне нужно отобразить эти калории изначально (on page load).
Для этого я:
8. начал использовать "componentDidMount() hook", который использует "calculateCalories()"
9. Теперь у меня есть данные сразу же на загруженной странице. Но каждый <Day /> почему-то показывает калории последнего компонента из списка. [пункт 1]

Вопросы:
a) Почему это работает так? Почему стэйтс последнего компонента вообще трогают иные? states внутри каждого компонента собственные, они не переданы из родительского как props.
b) Как я могу запустить "calculateCalories()" до render(), сохранить это в states, а после отобразить данные в render?
Если отбросить передачу данных из родительского компонента, как закрутить это внутри Day?

Ответы39752

415 21 июля, 02:43 415 1439744

>>1439740
Блять, я знаю про short circuit evaluation. Но смысл тогда в этих приоритетах операторов, если && выполняется первым

Ответы3976143621

416 21 июля, 03:21 416 1439752

>>1439742
фу, классы

вообще я нихрена не пони как твое приложение работает

после перезагрузки страницы все обнуляется конечно же. нужно инфу дергать из бд или локалсторейдж т.к. иначе компоненту неоткуда взять список продуктов для вычисления (на скрине список продуктов передается через пропс, но откуда он берется там я хз откуда он у тебя их берет)

Ответы39757

417 21 июля, 03:30 417 1439757

>>1439752
>на скрине список продуктов передается через пропс, но откуда он берется там я хз откуда он у тебя их берет

Это реакт. Props от родительского компонента же, как атрибуты передаются там.

Ответы39760

35 Кб, 736x665
418 21 июля, 03:30 418 1439759

кстати у меня тоже вопрос по реакту

почему так получается?

ведь это же чушь, this в стрелочной и в обычной функции должна указывать на разные вещи, а тут она указывает на один и тот же setState

Ответы39765

419 21 июля, 03:32 419 1439760

>>1439757
это понятно, но если ты перезагрузил страницу откуда там список продуктов?
т.е. где-то персистент сторейдж или это захаркодено?
потому что-то скорее всего где то там и причина почему всем компонентам идут одинаковые пропы

420 21 июля, 03:36 420 1439761

>>1439744
Сука.
"Operators with higher precedence become the operands of operators with lower precedence."
Значит первым выполняется оператор с самым низким приоритетом?

421 21 июля, 03:43 421 1439765

>>1439759
А ты ещё раз прочитай официальную доку, где они начинают писать эти 'стрелочные функции'.
Получается так потому, что это нихуя не стрелочные функции, а обычные функции, да ещё связанные с объектом.
babeljs.io/docs/en/babel-plugin-proposal-class-properties

422 21 июля, 04:05 422 1439767

Как изолировать сраные стили бутстрапа на vue в пределах одного компонента и его детей?
Пробовал уже разные конструкции, типа

<style scoped lang="sass">
@import=huipizda
</style>

Все равно это говно вылезает за свои пределы.

Подключение реализовано через пыху: маунтится 2 инстанса вуе, в одном должен буть бутстрик, в другом нет.

Что делать?

423 21 июля, 21:05 423 1440167

https://codesandbox.io/s/crazy-brattain-6khx2

Почему не работает, аноны?

После
console.log(countReducer(5, incrementAction, 100));
console.log(countReducer(-5, incrementAction));

state как бы запоминается и теперь в action.payload записывается третье значение! Майндфак ебучий
Б

Ответы40188

39 Кб, 1112x365
424 21 июля, 21:52 424 1440188

>>1440167
Не пользуйтесь этой парашей пацаны рискуете на ровном месте получить магию

Навернул всё в проект и всё работает как надо

425 22 июля, 08:08 425 1440288

25 Кб, 460x226152 Кб, 1366x536

>>1416079 (OP)
Аноны помогите. Короче, взял заказ, парсить ебаный сайт лудоманов myscore. Долго ебался с тем что б получить хоть какие то данные с главной страницы, потом наконец получилось найти аякс запрос которым подгружается контент, но вот беда контент приходит какой то блядь кодированный и я нихуя не знаю, что с этим делать. На скрине код с запросом которым получаю данные, и собственно данные которые приходят, как это превратить в нечто читаемое, кто сталкивался?

Ответы402894035640952

426 22 июля, 08:11 426 1440289

>>1440288
Смотри что на сайте делают с ответом на запрос.

Ответы40292

427 22 июля, 08:23 427 1440292

>>1440289
И куда там блядь смотреть, там слишком много говна происходит, нихуя не понятно

Ответы40424

428 22 июля, 13:31 428 1440356

>>1440288
excelvba.ru/programmes/Parser/samples/MyScore

Ответы40839

429 22 июля, 16:25 429 1440424

>>1440292
АХАХАХАХАХАХАХАХАХАХАХАХАХАХА
Ух, бля!
Мастер-фломастер взял заказ!

Ответы40838

430 23 июля, 08:56 430 1440838

>>1440424
Ухаха, уже сам все сделал, помошники хуевы

Ответы41290

431 23 июля, 08:57 431 1440839

>>1440356
Ну и нахуя мне это говно для экселя? Поебать, сам разобрался уже.

432 23 июля, 14:08 432 1440952

>>1440288
а почему бы не скрейпить его puppeteer'ом как белый человек

376 Кб, 1920x1350
433 23 июля, 20:34 433 1441159

Анон, помоги с расширением для фаирфокса.
Мне нужно модифицировать урл при открытии нового таба. Написал листенер для для tabs.onCreated, но такое впечатление, что он не срабатывает. С правами в манифесте все ок, код в бэкграунд, а не контент скрипте, а в результате хер.

434 24 июля, 00:05 434 1441290

>>1440838
Ахахахахаха
Пиздец, за помощниками сюда пришел, да еще и написать без ошибок не смог.
Но спасибо, что ты честен, и не вылазишь за пределы треда для уебанов.

435 24 июля, 00:47 435 1441307

Привет.
Я сделал прикольное™ API и хочу запилить JS-либу-обертку над ним чтобы привлечь разработчиков. Удобнее же заюзать API.getMessages(), чем делать самому запрос к апи. Есть какие-то готовые решения под мой кейс?
Решил попробовать axios, но я нихуя не понимаю в этих ваших асинках, промисах.

Если ничего готового нет и мне придется работать с axios, то не мог бы кто-нибудь написать пример хотя бы одного метода?
Я хочу, чтобы метод getMessages возвращал массив JSON объектов (он так и приходит в респонсе). Но чтобы при этом, если у юзера нет необходимых прав (пришел 403 ответ) выбрасывалось какое-нибудь исключение. И при этом чтобы все было асинхронно, как вы это любите.

Или дохуя хочу?

Ответы4132641351

436 24 июля, 01:59 436 1441326

>>1441307
Лучше сначала начни понимать что-нибудь в асинках и промисах. Это надо знать.

437 24 июля, 02:35 437 1441330

>>1416079 (OP)

Оп,
Что теперь натуралом притворяешься?
Но зачем?

Даже ссылку на github со своими материалами удалил, потому что, сразу в IRL палился.

Но вот ты расскажи, тебе не надоело всё это дерьмо?
Не надоело прятаться, скрываться, играть в норм мужика итд?
Да, пошли ты их всех на хуй и будь тем, кто ты есть!

Гордись тем, что ты ПИДОР!!!

438 24 июля, 04:07 438 1441351

>>1441307
ну так сделай? задача по сути самому написать запрос и вывод удобный сделать. только учти что т.к. внутри асинхронные операции то и метод твой будет асинхронный лол, асинхронность заразна

фетчинг json с помощью fetch
https://dev.to/shoupn/javascript-fetch-api-and-using-asyncawait-47mp

с axios я не имел дело (вообще не пони зачем он если есть fetch) но вот тут полно примеров в ридми
https://github.com/axios/axios

439 24 июля, 04:13 439 1441355

да, чтобы выбрасывалось исключение просто твой сервер должен возвращать джсон типа {"idi": "lesom"} а метод соответственно при получении такого чуда бросать throw new Error('Idi lesom!!')

как бросать ошибки через try catch в асинхронных функциях
https://stackoverflow.com/questions/44562426/can-i-throw-error-in-an-async-function

440 25 июля, 01:37 440 1441976

Почему много людей в /pr очень негативно относятся к фронт-енд/бек-енд разработчикам, обзывая их «веб дебилами» или другими оскорбляющими словами?

Ответы42003

441 25 июля, 03:55 441 1442003

>>1441976
Ахахахаха
У вас тут теперь общество анонимных макак?
"Здравствуйте, меня зовут Антон, и я пишу на яваскрипте"

349 Кб, 876x322
442 25 июля, 20:40 442 1442492

Ангуляробояре есть? Залетает проект, походу будет гибридная приложуха на ионике, а я реакт-макака. Какой нынче актуальный стек для разработки на ангуляре, чтоб я не понатянул устаревшего дерьма в зависимости?
Спасибо :з

Ответы426984290543281

443 26 июля, 04:39 443 1442697

>>1416079 (OP)
Аноны, как вы устанавливаете общение между сервом и реактом?

Вот у меня есть экспресс и реакт, у меня есть вариант общаться через аксиос или фетч получая инфу после логина и внося изменения в интерфейс, так же можно через экспресс поставить зашифрованные через бикрипт куки и потом наверное каким-то образом основываясь на токене выбирать что рендерить, и можно использовать реактСерверДом и рендерить компоненты прямо с экспресса, я так понимаю им можно будет так же передавать какие-либо значения.
Как сделать первое я знаю, как сделать последние два я не ебу, однако мне кажется реализуемо.
Какой способ из этих будет лучше?

Вот в третьем способе когда будет происходить допустим рендер компонента на сервере, как он потом встроится в уже построенное сбилженное дерево на фронте? Не понятно мне, джуну...

Ответы42726

444 26 июля, 04:39 444 1442698

>>1442492
Хули не на вью?

Ответы4271242726

445 26 июля, 08:26 445 1442712

>>1442698
Зачем он нужен, когда есть реакт с ангуляром?

446 26 июля, 10:15 446 1442726

>>1442698
Потому что заказчик настаивает. Говорит, что по ангуляру легче найти команду для поддержки. Странный, реакт-макак как говна.

>>1442697
>основываясь на токене выбирать что рендерить
Собственно примерно так аутентификация и работает. Только там еще ебля с тем, чтобы проверять актуальность токена. Что-то вроде
- твоя приложуха загрузилась
- в кукисах найден токен
- фетчем или аксиосом ты чекаешь что он не устарел
- если все ок - рендеришь компоненты для залогиненого юзера
- данные для них получаешь, подписывая аксиос реквесты этим токеном

>когда будет происходить допустим рендер компонента на сервере, как он потом встроится в уже построенное сбилженное дерево на фронте
Никак. ДОМ на фронте будет строится из уже отрендеренного сервером, а потом жить своей жизнью, как обычно.

Кстати, для передачи данных есть ещё graphql, охуенная штука.

Ответы4292242939

447 26 июля, 15:17 447 1442905

>>1442492
bimp

448 26 июля, 15:37 448 1442922

>>1442726
Ионик с реактом не работает

Ответы42957

30 Кб, 604x347
449 26 июля, 15:54 449 1442939

>>1442726
Спасибо за ответ.
Я знаю про графкл, делал на нём пару легких вещей, но сюда внедрять его нет смысла.
У меня приложение простая регистрация с профилем и редактированием профиля.
Я почему-то загрузился и начал искать всевозможные пути обхода аксиос пост реквеста через него на экспресс.
Я сделал простую форму у которой кроме onSubmit есть action="/" method="POST" в форме, всё отрабатывает нормально при приеме, но далее мне с экспресса надо отправить репонс с true или false авторизацией\регистрацией, а так же установить куки.
Этот ответ я хочу хранить в редаксе, хотя наверное мне не нужно это делать, возможно мне достаточно просто куки, но всё равно я еще слишком зеленый чтобы нормально продумать архитектуру.

ИЗанчально был замысел хранить в редаксе значение и на основе него рендерить юай, а именно убрать кнопку регистрации\авторизации и вместо них поставить логаут, профиль и редактирвоание профиля, а так же сменить начальный экран.
Вот как-то так, не знаю почему я начал наркоманить и не делаю просто onSubmit -> axios. Всё-таки хочется сделать как задумал.

А про серверДомРендер тоже интересная идея пришла в голову только вчера

Ответы42957

450 26 июля, 16:37 450 1442957

>>1442922
Реакт нейтив есть. Он про ионик не знал, просто сказал - хочу ангуляр. А как вы там дальше будете ебаться - ваши проблемы.

>>1442939
>Всё-таки хочется сделать как задумал.
Сам себе палки в колеса суешь. Аксиос рано или поздно придётся освоить (или фетч), и это не такой сложный инструмент.
>форму у которой кроме onSubmit есть action="/" method="POST"
Это было нужно, когда темплейты рендерились на сервере всяким пхп, и обычно после нажатия сабмита следовала перезагрузка страницы.
>хранить в редаксе значение
Тоже не совсем то. Сам токен лучше хранить в куки или локалстореж, так как при обновлении страницы у тебя редакс стор по пизде пойдет если ты не запилил redux-persist.
>я еще слишком зеленый чтобы нормально продумать архитектуру
Я тебе выше написал, как это устроить.

Ответы4296143290

451 26 июля, 16:45 451 1442961

>>1442957
>Сам себе палки в колеса суешь. Аксиос рано или поздно придётся освоить (или фетч), и это не такой сложный инструмент.
Я их знаю прекрасно! Просто хочу по-другому. Так бы давно реализовал всё

>Это было нужно, когда темплейты рендерились на сервере всяким пхп, и обычно после нажатия сабмита следовала перезагрузка страницы

Слушай, а что происходит когда происходит отработка формы по экшену и методу? В чем отличия от xhr(и насколько я знаю основыанных на нём аксиос и фетча)?

> если ты не запилил redux-persist
Да знаю, редакс не хранит состояние.

Ответы4297542979

452 26 июля, 16:52 452 1442975

>>1442961
В том, что в ответ ты всегда получаешь новый html, а не какой-нибудь жсон.
Сейчас
- отправил жсон
- сервер сделал дела, ответил жсоном
- получил жсон, обновил что-то там на клиенте

Раньше
- нажал кнопку на форме
- браузер отправил запрос
- сервер сделал свои дела, сгенерировал новый штмл
- отправил тебе страницу
- браузер загрузил и отрисовал новую страницу

По сути то же самое, только с длительной перезагрузкой, когда щас у тебя реакт перерисует все по-быстрому, получил нужный ответ от сервера.

Ответы42990

453 26 июля, 16:53 453 1442979

>>1442961
>а что происходит когда происходит отработка формы по экшену и методу
Отправляется POST запрос на юрл, указанный в "экшн", передавая квери-стринг с кей:валуэ данными. Где кей - аттрибут name инпута, а валуэ - его значение.

Ответы42990

17 Кб, 300x300
454 26 июля, 17:03 454 1442990

>>1442975
>>1442979
Во ахуенно, премного благодарен, теперь понимаю как нужно сделать

455 27 июля, 09:18 455 1443281

>>1442492
бимп еще раз

456 27 июля, 10:01 456 1443290

>>1442957
>Сам токен лучше хранить в куки или локалстореж
Токен лучше не хранить в локале, кмк. XSS сейчас более популярны, чем CSRF.

457 27 июля, 22:55 457 1443621

>>1439744
Смысл в приоритете - что с чем считать, про порядок выполнения другой разговор.

458 29 июля, 01:21 458 1444180

Я прав, полагая, что тильда вбивает последний гвоздь в крышку веб-программирования?

Ответы44184

459 29 июля, 02:11 459 1444184

>>1444180
Работал хоть день в вебе? Тильда пока не вбивает гвоздь даже в васянов, верстающих ледносы за 3-5к рупий на русскоязычных фриланс-биржах.

460 29 июля, 13:39 460 1444325

скоко у вас времени ушло на то что бы выучить js на уровень необходимый для работы ?

Ответы4433144726

461 29 июля, 14:04 461 1444331

>>1444325
Иди нахуй. Ты никогда не выучишь.

462 30 июля, 00:00 462 1444726

>>1444325
let/const vs var, push, pop, slice, splice, map, filter, reduce, спред оператор, деструктуризация, bind, call, apply, отличие стрелочной фунций от обычной, ПРОМИСЫ, async/await
Все, что тебе нужно знать

463 30 июля, 16:35 463 1444978

сап програмач, выручай плиз
допустим есть файл с обьектом:
{
"key1": "hui",
"key2: "pizda"
}
а нужно получить файл с таким обьектом:
{
"key1": "key1",
"key2": "key2"
}
те нужен именно файл, а не просто пройтись по обьекту и сохранить новый обьект в виде переменной
можно это как-то сделать с помощью жс?
если что не ругайте зеленого, я только скрипты простенькие на фронте пишу и не претендую не на что

Ответы449914507245231

464 30 июля, 16:56 464 1444991

>>1444978
Я такое сделаю в нотепаде++ за минуту лол

465 30 июля, 19:18 465 1445072

>>1444978
Регулярки используй.

466 30 июля, 21:26 466 1445181

Посоветуйте пожалуйста материалы где много нужно кодить самому в плане "вот инфа, вот пример, теперь сделай сам", но сложнее вызова алертов.

467 30 июля, 22:54 467 1445231

>>1444978
> на фронте
в итоге ты хочешь получить файл или ты так обозвал объект в памяти?

468 30 июля, 23:08 468 1445240

>>1437315
>при помощи jquery спарсить страницу, после всех манипуляций на ней скриптов с DOMом.
нет

на целевой в консоле в network смотри запросы ( которые содержат интересующюю тебя инфу ), и пытайся их реализовать у себя.

469 1 авг, 09:26 469 1445809

>>1417224
Вары стоит понимать скорее потому что может оказаться так что библиотека которая тебе нужна написана на варах, и там или оказался баг, или тебе нужно расширить функционал библиотеки. Это конечно не самый частый случай, но полностью исключать вероятность нельзя.

470 1 авг, 10:06 470 1445825

Делал туду в реакте, почему вот это вываливается с ошибкой Maximum update depth
<input type="checkbox" onClick={toggleComplete(item.id)} /> , а
<input type="checkbox" onClick={()=>toggleComplete(item.id)} />
это работает нормально?

вот что лежит в самом методе
toggleComplete = id => {
console.log(`toggled ${id}`);
this.setState({
items: this.state.items.map(item => {
if (id === item.id) {
item.completed = !item.completed;
}
return item;
})
});
};

Ответы4623347053

471 1 авг, 22:36 471 1446233

>>1445825
Ты блять больной ублюдок, не пиши так никогда больше.

1. Передавай в setState простой объект только тогда, когда он не зависит от текущего state, в твоем случае это, очевидно, не так, и нужно использовать другую форму setState, которая принимает коллбек (state, props) => {...}. Кури доки на сайте реакта.
2. Нахуя ты в map мутируешь элементы своего массива? Старайся делать коллбеки внутри map, filter, reduce и т.д. чистыми, чтобы потом не отхватить себе геморроя на ровном месте.
3. В гугле забанили? Просвещайся: https://stackoverflow.com/questions/48497358/reactjs-maximum-update-depth-exceeded-error

Ответы46294

472 2 авг, 00:01 472 1446294

>>1446233
Мимо другой анон, не понял первое, где в доках про это читать?

Ответы46398

473 2 авг, 08:53 473 1446398

>>1446294
Погромисты блять, сложно в api reference зайти и найти нужный метод?
https://reactjs.org/docs/react-component.html#setstate

474 2 авг, 20:59 474 1446957

Как выполнить скрипт на новой открываемой странице?

let a = window.open(url,"_blank");
a.focus();
a.addEventListener('load', function(){
a.function();
}, true);

Такой код работает, но он открывает страницу в новой вкладке.

let a = window.open(url,"_self");
a.focus();
a.addEventListener('load', function(){
a.function();
}, true);

уже нет.

Что делать?

Ответы4697747042

475 2 авг, 21:21 475 1446977

>>1446957
бамп

476 2 авг, 22:32 476 1447036

Как избавиться от TypeScript эрекции? Выхожу покурить каждый раз как забацаю функцию с типом ретурна зависящем от keyof'a. Не могу теперь смотреть на всякие джавы и шарпы, дженерики намного слабее.

477 2 авг, 22:37 477 1447042

>>1446957
Ну сравни. Открывая по бланку, открывается новая страница, не трогая текущую. По селфу уже навигация в пределах текущего фрейма, то есть текущий код затрётся новым. Вот и выходит что код не выполняется потому что его уже нет.
Попробуй через фрагмент в урле передавать. на с3хой конец куки, но лучше не надо

Ответы47065

478 2 авг, 22:58 478 1447053

>>1445825
Господь, мои глаза...

Ответы47074

479 2 авг, 23:13 479 1447065

>>1447042
Может есть лучшее решение, цель такова:

Надо сделать "display: block" на другой странице при нажатии и все.

Ответы4718147182

480 2 авг, 23:27 480 1447074

>>1447053
ну хорошо, а ты бы как значение менял? получить indexOf, а потом по этому индексу изменить? Я правда не понимаю что в этом ужасного, и в большинстве примеров в гугле изменение через map идет как один из вариантов

Ответы47079

sage 481 2 авг, 23:35 481 1447077

В общем, я забираю данные по апи аякcом, на выходе получается словарь.
Далее, мне нужно вывести некоторые записи, а остальные подгрузить по кнопке. Сам я ничего лучшего не придумал, как сделать это циклом типа такого:
for (i=0; i < 6 (мне нужно вывести 6 записей); i++){
$('.some-block').append(data.somedict.someshit)
}
А далее по клику подгружаю остальное циклом i=7,i<data.somedict.lenth; i++)

Скажите, как правильно делать такую хуйню? У меня ощущение будто я пиздец хуйни наворотил.

Ответы4707847183

482 2 авг, 23:36 482 1447078

>>1447077
Сажа прилипла

483 2 авг, 23:36 483 1447079

>>1447074
>примеров в гугле
Ты еще попробуй учиться на примерах с ближайшего забора, вот там истинные мастера кода старались.

484 3 авг, 05:34 484 1447181

>>1447065
На другой открытой странице или открыть и заменить стиль? Если первое, то пути нет. Если второе, то передавай что нибудь через сам путь в query. Идея js'ом лезть на другую страницу это полное дерьмо. Передай странице параметр, а она его прочитает и выставит стиль. Если, конечно, у тебя есть доступ к коду этой страницы.

Ответы47184

485 3 авг, 05:37 485 1447182

>>1447065
Еще есть iframe на всю страницу, но это совсем маньячество.

486 3 авг, 05:40 486 1447183

>>1447077
Да вроде норм. Я бы еще прилепил проверку, что в словаре >=6 записей, чтобы на первом цикле за лимит не выйти.

487 3 авг, 05:44 487 1447184

>>1447181
По идее оно работает как просто якорь #. Ну, нажимается ссылка и на новой странице оно скроллиться туда же. Но дело в том, что мне нужен не скролл, а открыть конкретную вкладку на странице, т.е. по айдишнику открывается и все. Наверное через query сделаю или оставлю, чтобы новая вкладка в браузере открывалась.

Ответы4718648281

488 3 авг, 05:52 488 1447186

>>1447184
Ничто тебе не мешает этот якорь из js'а читать. Чекай document.location.hash

489 4 авг, 22:18 489 1448155

Почему мне говорят, что джс - простой язык?
Что-то нихуя не ощущается. Только что с типизацией не нужно заморачиваться, но разве это главное?

Ответы48166

490 4 авг, 22:29 490 1448166

>>1448155
Порог минимального вхождения ниже, минимальный набор инструментов - браузер, большое комьюнити.
Язык простой, если не начинать делать на нем сложные вещи. Если не начинать заморачиваться со стандартами, фреймворками. Сейчас он выглядит сложно из-за огромного количества суперсетов и фреймворков, но это сложность не языка, а его окружения и никто тебя не заставляет в них вляпываться, если, конечно, ы не собираешься на нем зарабатывать.

Ответы48194

189 Кб, 897x472
491 4 авг, 23:13 491 1448194

>>1448166
> суперсет
Гугл кидает на страницы про качалку
react + redux + appolo + node + mongo = superset?

Ответы48201

492 4 авг, 23:23 492 1448201

>>1448194
Coffeescript, typescript, мертвый дарт и пр. После транспиляции становятся js'ом, потому что в конечном итоге только его браузер умеет исполнять. Типа как SCSS и LESS это суперсет CSS. С грубоватой натяжкой C и ассемблер.

493 5 авг, 06:24 493 1448281

>>1447184
Спарси урл после загрузки и повесь на нужный элемент класс, дающий этот самый дисплей блок.

Я бы сделал как то так -

function parseGETParams() {
let result = {},
gets = window.location.search.replace(/&amp;/g, '&').substring(1).split('&');

for (let i = 0; i < gets.length; i++) {
let get = gets.split('='),
key = get[0],
value = typeof(get[1]) == 'undefined' ? '' : get[1];

if (result[key]) {
result[key] = [result[key]];
if (Array.isArray(result[key])) result[key].push(value);
} else {
result[key] = value;
}
}
return result;
}

На выходе получишь айдишник нужного тебе элемента

494 5 авг, 17:51 494 1448511

Какое оптимальное решение по выводу треугольника из звездочек в консоли?

for(var i =0;i<7;i++){
for(var j=0;j<i;j++){
document.write('*');
}
document.write('<br/>');
}

Ответы48513

495 5 авг, 17:52 495 1448513

>>1448511
Вот ещё:

var lines = 7;
var str = " ";
var star = "*";
for(var i = 0; i < lines; i++){
str += star;
console.log(str);
}

496 5 авг, 21:33 496 1448600

Уже добейте - я в новый тред вопрос напишу.

Ответы48606

497 5 авг, 21:53 497 1448606

>>1448600
Новый тред (#136) уже утонул давно: >>1431833 (OP)

А вы всё ещё в 135 сидите...

Ответы48612

498 5 авг, 22:06 498 1448612

>>1448606
Так и в какой тред мне вопрос писать? Или перекат вам сделать?

Ответы48615

499 5 авг, 22:12 499 1448615

>>1448612
Я последнюю неделю на оба подписан, хз как так случилось что два треда активны.

Ответы48619

500 5 авг, 22:23 500 1448619

>>1448615
>хз как так случилось что два треда активны.
Например так: кого-то побанили и массово посты удалили по всей доске. У модеров есть такая кнопка "побанить пользователя с удалением всех постов". Мне один раз в /sci/ такой зобан прилетал. Вероятно, пользователь, которого побанили, успел отметиться в этом треде. После удаления его постов, тред вылез из бамплимита. Я не вижу в этом треде ссылки на перекат. Вероятно, ОП нового треда - аутист. Без ссылки на новый тред, в треде могли пооставаться аутисты, которые не перекатились и которые обратно вывели тред на нулевую.

501 5 авг, 22:23 501 1448620

Короч ладно, сча перекачу.

502 5 авг, 22:26 502 1448623

ПЕРЕКАТ:
>>1448622 (OP)
>>1448622 (OP)
>>1448622 (OP)
>>1448622 (OP)
>>1448622 (OP)
>>1448622 (OP)
>>1448622 (OP)

69 Кб, 1920x1080
503 8 авг, 17:50 503 1449922

>>1416079 (OP)
0101 ананасы
недавно начала знакомиться с java, нашла хорошую "среду"
и первые же траблы, при скомпиляции переменных, не выдает цифры

Ответы50104

504 8 авг, 21:28 504 1450104

>>1449922
в print убери кавычки над num_2

505 12 авг, 21:16 505 1452132

Аноны, подскажите, как наиболее эффективно тянуть данные с сервера у которого есть делей (2-3 сек) на отправку данных?

506 30 авг, 00:33 506 1463574

>>1416079 (OP)
Сап сасачеры, решил заниматься сайтами, html и css знаю и решил выучить язык программирования хотя бы один и выбор пал на js. Какие подводные?

Тред утонул или удален.
Это копия, сохраненная 6 сентября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion