Прошлый тред: >>1409651 (OP)НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!Для программирования на ХТМЛ https://codepen.io/pen/Для фреймворков https://codesandbox.io/Для Ноды с пакетами https://repl.it/languages/nodejsЗалить, задеплоить страничку, сервер, контейнер https://zeit.co/now Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:что я хочу получить, что я для этого делаю, что я вместо этого получаю.Сделай песочницу по ссылкам выше для ясности и удобства. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
П Л А Т И Н А> Странное приведение типов, комплексные правила, неявные ошибкиЯзык разрабатывался с расчётом на доступность Веба для авторов любого вида. Даже плохой код должен хоть как-то работать. А тебя не обязывает всеми этими странностями пользоваться.> Почему бы не сделать нормальную версию языкаВыгоды сомнительны, а Веб ломать нельзя.http://exploringjs.com/es6/ch_one-javascript.html> Динамика, не компиляется, недоязыкСтранно, что у тебя после объявления всех типов и компиляния осталось время покакать в этом треде, старичок.> Что там асинхронно происходит в этом одном потоке Event Loophttps://www.youtube.com/watch?v=8cV4ZvHXQL4https://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=5MgBikgcWnYhttps://www.youtube.com/watch?v=IhuwS5ZLwKY&list=PL8dPuuaLjXtNcAJRf3bE1IJU6nMfHj86WТы помнишь образы и связи, а не конспекты.https://www.youtube.com/watch?v=gj3ZnKlHqxIhttps://www.youtube.com/watch?v=5nTuScU70AsТы — это то, что ты делаешь каждый день.https://www.youtube.com/watch?v=eLYNM5QAnpwhttps://www.youtube.com/watch?v=JAnNUhWJQI8&list=PL5faAYlGYYoGr49h1WMInNSd5Ya1uu7KT&index=6https://habitica.com/Сколько помидорок сможешь сделать за неделю?https://www.youtube.com/watch?v=H0k0TQfZGSchttps://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=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5https://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-JShttps://github.com/getify/Functional-Light-JSИсчерпывающе подробные справочники:http://speakingjs.com/es5/index.htmlhttp://exploringjs.com/es6/index.htmlhttp://exploringjs.com/es2016-es2017/index.htmlhttp://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-Kx4https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6ehttps://www.youtube.com/watch?v=o3ka5fYysBMhttps://www.youtube.com/watch?v=WBcHgaoHh1k&list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ Где-то на этом этапе ещё нужно разобраться с инфраструктурой:Linuxhttps://itsfoss.com/getting-started-with-ubuntu/https://linuxjourney.com/shellhttps://tproger.ru/translations/bash-cheatsheet/https://explainshell.com/https://www.shellscript.sh/Githttps://tproger.ru/translations/difference-between-git-and-github/https://githowto.comhttps://git-scm.com/book/ru/v2Dockerhttps://dev.to/azure/docker---from-the-beginning-part-i-28c6https://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-505b54637a5dhttps://medium.freecodecamp.org/want-to-build-something-fun-heres-a-list-of-sample-web-app-ideas-b991bce0ed9ahttps://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=sBws8MSXN7A1 - находишь официальный сайт приблуды;https://reactjs.org/2 - на офсайте делаешь Tutorial / Getting started;https://reactjs.org/tutorial/tutorial.html3 - на офсайте читаешь доки, АПИшки по диагонали;https://reactjs.org/docs/hello-world.html4 - начинаешь делать оригинальные нужные штуки, сверяясь с доками;https://github.com/gothinkster/react-redux-realworld-example-app5 - попробуй поискать “github awesome приблуда”;https://github.com/enaqx/awesome-react6 - отважно посмотри исходники.https://github.com/facebook/reactСейчас с большим отрывом самый популярный стек это React + Express + Mongo. Получается что-то такое:https://www.youtube.com/watch?v=PBTYxXADG_k&list=PLillGF-RfqbbiTGgA77tGO426V3hRF9iEОформи такое в портфолио на Гитхабе и можешь уверенно искать работку.А как же другие приблуды? Сложно и долго осилить только первый язык, фреймворк, что-либо. Следующий ты освоишь в считанные недели, а то и дни. При перекате не забудь тему и тег. Шапка с разметкой: https://pastebin.com/Twkch1cM
А нужно ли для истинного понимания языка рассматривать какую-нибудь библиотеку, скажем, жкверри, и понимать все тамошние функции и методы?
>>1416145труды и дни гесиодатитанический труд о том как надо жить, бессмертная классикаСтоя и к солнцу лицом обратившись, мочиться не гоже.Даже тогда на ходу не мочись, как зайдет уже солнце,Вплоть до утра - все равно по дороге ль идешь, без дороги ль;Не обнажайся при этом: над ночью ведь властвуют боги.Мочится чтущий богов, рассудительный муж либо сидя,Либо - к стене подойдя на дворе, огороженном прочно.Совокупившись, не стой неодетый, с. . . . . . . .Перед огнем очага, но держись в это время подальше.
>>1416139Если бы я начал ознакомление с JS с какой-нибудь еблиотеки или хреньворка, особенно с жидоквера, меня тошнило бы от него до сих пор.
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?
>>1416402А хули тут орать, макаке определённо легче какой-нибудь говноворк выучить, чем современный стандарт языка - слишком сложный для обезьян оказался.
>>1416428Это можно за некое подобие хвостовой рекурсии принять, но это не вызов функции из самой себя.
>>1416413уф, а я уже испугался, что onmousemove надо было оказывается замедлять все это время а я и не знал
>`${new Date(time).getHours()}:${new Date(time).getMinutes()}:${new Date(time).getSeconds()}`Я долбаеб?
>>1416449Не слушай этого жидёнка, он может такую хуйню начесать, что потом заново язык переучивать будешь по нормальным учебникам. К тому же этот уёбок уже лет 10 не обновляет свой говноучебник, хотя побирается на сайте со всяких уроков, тренингов и копий в PDF.
>>1416518А какие у тебя с этим проблемы? Ты пишешь какой-нибудь календарь/органайзер для разных стран и языков, и тебе приходится постоянно возиться с выводом дат? Я бы так заебенил:> ["Hours", "Minutes", "Seconds"].map(ф => new Date()["get" + ф]().toString().padStart(2, "0")).join(":")
Как же очко играет, на следующей неделе по собесам собираюсь бегать. Уже заренее чувствую себя тупым омежкой.
>>1416600Так запасись вазелином, салфетками, купи пару бутылок воды, пачку гондонов, и сам не заметишь, как пройдут твои унижения.
>>1416608И что, этот Олежка не может сходить в аптеку за вазелином?>>1416609Это ровным счётом то же самое, поверь мне, сам подобными унижениями занимался когда-то. Единственное, чем могу успокоить: с моей стороны это тоже удовольствие так себе было: единственная мысль, крутящаяся в голове, - когда же наконец начнут строить биореакторы?
Это норма, че их так до хуя? 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
>>1416079 (OP)Возможно ли посмотреть все куки браузера (пусть и зашифрованные) через cookie-parser (нодовская либа для экспресса)Я имею в виду куки других сайтов
>>1416711инфа к размышлениюhttps://lb.ua/economics/2019/03/26/422976_kiberpolitsiya_zaderzhala_zhitelya.html
>>1416609В прошлом треде один лишился девственности, в этом другой просит его обоссать... Что не так с этим языком? У пидорасов какая-то предрасположенность к JS?
>>1416729>В прошлом треде один лишился девственностигде?кстати, мне сегодня посылочка с чулочками пришла, ня-ня-ня!
>>1416729>в этом другой просит его обоссатьВрети, предпочтительнее обоссывание, чем собесы. Нужно различать такие вещи. >У пидорасов какая-то предрасположенность к JS?Думаю тут не js, а программирование в целом, потому что среди крестоблядей тоже через одного содомиты.
>>1416740> Врети, предпочтительнее обоссывание, чем собесы. Нужно различать такие вещи. Не нужно, это один хуй. Ещё одно дело, когда тебя просто пара суровых мужиков-программистов опрашивает на предмет навыков. Самый же смак, когда тебя какая-то малолетняя прошмандовка-секретутка унижает, которая сама нихуя не знает и не умеет, а посажена специально, чтоб обоссывать и унижать таких, как ты.
> Думаю тут не js, а программирование в целом, потому что среди крестоблядей тоже через одного содомиты.Скорее, не программирование, а кодерство-прогерство. Среди программистов МК-61, к примеру, ни одного пидораса не встречал.
>>1416744Перфокарты еще вспомни, очевидно что тогда это скрывалось со страшной силой и люди пытались подавить свои влечения чтобы не угробить карьеру и социальное положение.
>>1416745А теперь если подумать о том, что хреньворки набирают популярность одновременно со всей этой темой про ЛГБТ на западе, то все встает на свои места.Кстати, нахуй так делать? Даже перекатить нормально не могут.
>>1416745Потому и программирование было элитарной инженерной профессией, а не пристанищем дегенератов.
>>1416747Да это вы, заднепереднеприводные, засрали весь Интернет своими высерами, что теперь что ни ёбаная страничка, то пачка хуеворков и еблиотек, 100% загрузки процессора и 500 МБ оперативки, плюс 10 минут на отрисовку всего этого говна, которое в результате шевелится как контуженный глист в анабиозе.
>>1416738блин вот обрадовался а на почте вместо чулочков вручили бумаги из шараги бандеролью, видать я сделал кислую мину т.к. меня ещё и спросили не расстроился ли ягрр
Хочу отследить событие change jquery на N инпутов, возможно ли так сделать? Я пробую такvar list = $("[id^=text]");for(var i=0; i<list.length; i++) { list.change(function(){ localStorage.setItem("key" + i, list.val()); });}
>>1416831Ну хз чет мне лень разбираться с eslint, нашел пример который нужен, через each, но он чет не робит в jsfiddlehttps://stackoverflow.com/questions/27273444/save-and-load-input-values-using-local-storage?answertab=active#tab-top
>>1416830var i=0замени на let i=0а то гроб гроб кладбище. И должно работать.Только я не знаю что такое [id^=text]. Там есть элементы после этого?
>>1416851[id^=text] это я ищу свои инпуты, так как они начинаются на text а дальше идет порядковый номер
>>1416856http://api.jquery.com/delegate/#delegate-selector-eventType-eventData-handler.delegate( selector, eventType, eventData, handler )А мог бы сделать дедовским способом и не учить es6
>>1416830> jqueryБлядь, когда же вы вымрете, мерзкие животные?>>1416859> не учить es6Вся суть жидоквернутых макак.
>>1416862Чот я хуйню сморозил и убежал$('input').change(function() { var i = $(this).index(); localStorage.setItem("key" + i, list.val());})
А не зашквар пользоваться var в 2019? Я весь es6 уже выучил, везде const хуярю, но вот если мне нужно определить переменную динамически, то приходится писатьlet a;if (yoba) a = boba else a = jopa. Неудобно.и нет, тернарный оператор нельзя, переменная, например, это большой объектИ то же самое, если переменная определяется внутри try-блока.
>>1416890Здеся https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features var нету
>>1416893Понятно, что он не deprecated ещё. Но если я приду собеседоваться на джуна, а у меня в мувисерчере var, меня не обоссут?
>>1416896>а у меня в мувисерчере var, меня не обоссут? Обоссут и правильно сделают. Я даже скажу как. Напишут тебе кодfor (var i = 0; i < 10; i++) { setTimeout(() => { console.log(i); }, 0);}и попросят сказать, что он напечатает. А потом попросят исправить сохранив var, раз ты так var любишь.
>>1417019"10" 10 раз.for (var i = 0; i < 10; i++) { (() => { var varIsShit = i; setTimeout(() => { console.log(varIsShit); }, 0); })();}Нахуй я это написал.
>>1416890var протекает через области видимости, его ок только в консоли бровзера юзать для тестов кода
Ещё две задачки, что напечатают программы: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);
>>1417038А слева саблайм? Судя по отсутствию "unregistered" - нет.Просто слева открой хромовский dev-tools, а справа саблайм
>>1417019Это же платиновая задачка на замыкания из учебника кантора. Вы тут учебников совсем не читаете?
>>1417032А вот это задачки поприкольней? Вторая с некоторой заковыркой) Так как во второй функции есть var, то создается локальная переменная и внешняя i = 666 не перезаписывается, поэтому в последнем консоль.логе выводится тоже 666. Я сразу на этот вар внимания-то и не обратил, лолВ первой задачке внутри функции вара нет, поэтому перезаписывается внешняя переменная, во втором консоль.логе она равна десяти поэтому
>>1417019ну ладно тут понятно, var создает один биндинг, let создает биндинг на каждую итерацию, при замыкании передается сама переменная, которая в случае с var равна 10 а в случае с let каждый прогон равна 0, 1, 2, 3 и т.п. последовательно>>1417032тут в первой как бы тоже все понятно, обратился к переменной скопом выше и переписал ееобъясните третью плзпочему тут не переписывается глобальная переменная?
>>1417064но ведь вар внутри функции задекларирован после петли которая по идее должна переписать глобальный вар
>>1417067Мм, нет, сначала интерптетатор идет по функции и ищет все вары, а потом идет выполнять основной код. То есть к моменту дохода до цикла с "незадекларированным" варом, локальный вар уже задеклалирован и равен undefined. После инициализации цикла локальный вар, соответственно, получает другое значение
>>1417069Ну, я наверное, не очень четко выразился. Короче, функции неважно, где вар i определен, если он определен даже в конце, даже после ретюрна (как на втором пике здесь >>1417033), то функция уже считает все операции с i операциями именно с локальным i. Интерптетатор сначала пробегает по функции, и если находит var i, то он записывает его в свой лексикаленвайромент, и перед началом выполнение кода он уже равен undefined
>>1417099Вар стандартом не отменён, при большой необходимости и его можно использовать. Иногда может понадобиться переменная с такой областью видимости.
>>1417065>объясните третью плз>почему тут не переписывается глобальная переменная?Потому что объявление var всегда поднимается вверх по функциональной области видимости еще до того, как код начнет выполняться.
Давно уже не ньюфаг, поэтому больше взываю к умному анону тупой мне не помог в ньюфаче. Анон, попробуй как-то аргументированно высказаться в сторону одного из языков (javascript или python). Нужен какой-то мысленный перевес, ибо повис в выборе.Задачи: классический веб-бэкенд (фронт - на говне из jquery)>>1417138 (OP)>>1417138 (OP)>>1417138 (OP)
>>1417083debug terminal?>>1417071Понимать, как работает var, пожалуй, нужно для всяких легаси, но использовать его при написании нового кода - пиздец.>>1417100>Вар стандартом не отменёнА что ты считаешь стандартом? Для большинства нормальных компаний в индустрии стандарт - airbnb style guide, а там черным по белому: 13.1 Always use const or let to declare variables.>>1416883>> jquery>Блядь, когда же вы вымрете, мерзкие животные?Смотри, какое дело... большинство из того что делала жкваря, уже потеряло актуальность, но есть моменты и проекты, где она ещё нужна. https://flaviocopes.com/jquery/>>1417124>Потому что язык говно. Твой-то?
>>1417145> А что ты считаешь стандартом?Ну, например, это: https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
>>1417145> есть моменты и проекты, где она ещё нужнаЛень вникать в англоязычный высер жидоквериста, но не могу представить ни единого случая, где это говно может быть нужно и вообще было нужно когда-либо.
>>1417154Спецификация - не стандарт индустрии, а список того, что есть в языке, и как это "что" себя ведёт. Совершенно не значит, что всё, что там содержится, надо использовать в продакшене.
>>1417157Ну ты или используешь какой-нибудь framework иначе Слово framework нужно произносить с выраженным американским акцентом, особо акцентирую артикуляцию r в work, иначе ты всем показываешь, что ты немодное говно, а не современный программер, или должен сам поддерживать какие-то фичи, особенно по части Ajax, или отказаться от поддержки испопаемого говна вроде IE. Но JS это больше либа, а фреймворки в нагрузку тебя заставляют кучей всего ещё пользоваться, что часто тоже просто идейно устарело и уже поддерживается современными браузерами без проблем.
>>1417154Стандарт языка для машин, которые код интерпретируют, тут требуется обратная совместимость в том числе.Стандарт оформления для людей, которые код пишут. Тут требуется писать читаемый код, с меньшим количеством потенциальных багов, более оптимальный, с учётом тенденций развития языка. Использовать var дурной тон. Ты всегда вместо var можешь использовать let/const.
>>1417165> должен ... отказаться от поддержки испопаемого говна вроде IEИменно. Если разработчики этот поезд с вагонами древнего глючного тупорылого говна так и будут за собой тащить на горбу вместо того, чтобы ткнуть пользователя носом в сообщение: "Используй браузер, а не хуйпоймичто", то переход к современным браузерам займёт ещё с десяток лет. А если уж приспичило так, то для Хуякса вполне можно использовать те же фреймы, отлично работавшие ещё на заре Веба.> идейно устарело и уже поддерживается современными браузерами без проблемВерно. Но тупую веб-макаку переучить с хреньворка на нормальный, современный ES6 и заставить с ним работать крайне проблематично.> Слово framework нужно произносить с выраженным американским акцентом, особо акцентирую артикуляцию r в work, иначе ты всем показываешь, что ты немодное говно, а не современный программерЯ и с британским акцентом не знаю, как это должно звучать, а ты тут про американский. На мой взгляд, это нужно произносить не иначе, как "хреньворк", с выраженным русским акцентом, особо акцентируя артикуляцию "х" в "хрень", иначе ты всем показываешь, что ты обшкваренный кодер-программер, а не программист.
>>1417160>>1417170Спецификация/стандарт - для разработчиков браузеров. Которые могут как не полностью его поддерживать, так и вводить свои, нестандартизованные навороты. Безусловно, нужно следовать некоторым установкам, чтобы писать код приемлемого качества, но самая первая из этих установок - держаться стандарта, только потом уже всякого рода рекомендации.Я согласен насчёт того, что var сегодня лучше не использовать вообще. Но если мне вдруг сильно захочется где-то заебенить var вместо let, то я не откажу себе в таком удовольствии, а не буду перелопачивать код, чтобы обойтись let.
>>1417182>Но если мне вдруг сильно захочется где-то заебенить var вместо let, то я не откажу себе в таком удовольствии, а не буду перелопачивать код, чтобы обойтись let. А где ты работаешь, и на позиции какого уровня, можно спросить?
Есть div на сайте который undefined, но после щелчка ссылки, он появляется. Я как нуб перехватил его через while. И весь задуманный код работает. Шо для этого актуально mutation observer или mutation events, или есть более простой способ реализовать это через какой-нибудь ибаный jquery?
>>1417190Ну уж не кофеподносильщиком, между делом пишущим код, которого ебут за любое своеволие и отступление от шаблона в работе.
Вары надо понимать как минимум потому, что на собесах любят спрашивать всякую заковыристую хуйню, в том числе и связанную с ФИЧАМИ работы варов Если клеймить все тонкости языка, не особо используемые на практике, как нинужные, то можно и обосраться невзначай. Да и в конце концов это просто теоретический интерес. Разве не хочется в деталях понимать, как работает тот язык, на котором ты на хлеб зарабатываешь или собираешься зарабатывать?
>>1417226У меня нет жопы. Спина сразу в ноги переходит. Ты с собой спутал.Но тебе говноеду пидорасовичу всё же дам ссылку https://stackoverflow.com/questions/23444125/how-to-change-position-of-output-panel-in-sublime-text
>>1417219Да потому что ты пизда кривосекельная. Если у тебя блок с задержкой вылазит, то и предусмотри задержку, в чём проблема? Да и не похуй ли твоему скрипту, отрисовалось ли оно на экране, или ещё нет?
>>1417233Блет я думал ето логично что обработчик в клике обрабатывается после клика, а ставить задержку в setTimeout ето костыль какой-то. Я из этого div данные еще беру
>>1417239Конечно, костыль, а куда твоему калечному коду без костылей? Есть разные обработчики: цлицк, моусеДовн, моусеУп. Смотря что тебе надо.
>>1417145>Для большинства нормальных компаний в индустрии стандарт - airbnb кто такие чем знамениты как пробились в главпетухи?
>>1417328Ну я слышал про эту версию, поддержка легаси все дела, пусть переделывают по новой как python2 to python3.
>>1417338Один арет про стандарт airbnb, который гласит шо везде надо юзать let или const, другой топит за var, ну понятно шо у вар глобальная область видимости. Видимо семантика var больше никому нинужна.А теперь объясняй, еба
>>1417515> Расскажи что такое стек и чем отличаются от спискаПиздец ёбик. Спрашивают пояснить отличие стека от хипа, а не от списка.
>>1417520Твой вопрос лишён смысла, ещё раз тебе говорю, мудень. Я с таким же успехом могу спросить "чем отличается стек от пизды твоей мамаши". Ох уж и не повезет кому-то, если его будет интервьюировать вот такой безграмотный имбецил.
>>1417523Стек, список, двунаправленный список, хеш-таблицы, b-trees, rb-trees, avl-trees, крути деревья, пидор!
>>1417524Узбагойся ебаклак https://en.wikipedia.org/wiki/Stack_(abstract_data_type)Хотеть кормить толстых
>>1417525>Стек, список, двунаправленный список, хеш-таблицызнаю, остальное нет -_-не пройду я собес с верчением деревьев, буду надеяться джунов не заставляют
Господа, подскажите макаке как быть. Есть vue-каталог игр для игрового клуба, с помощью axios'a подтягивается .json-файлик со списком игр, выводится на страницу в виде сетки, игры разделены по категориям - htc, psvr, ps4, "все" - нужно, чтобы при клике на какую-то категорию фильтровать этот самый список, а при клике на "все" - выводился очевидно изначальный список всех игр, ну и чтобы изначально эта категория "все" выводилась.Демка:https://codesandbox.io/s/driv3r-9mb88?fontsize=14
>>1417224>Разве не хочется в деталях понимать, как работает тот язык, на котором ты на хлеб зарабатываешь или собираешься зарабатывать? Не хочется. Нужно уметь быстро нахуярить и в продакшн, ибо сроки навчера и конкуренты. А деталеебство не всралось.
Парни, как вы пишите свои React приложухи где надо API для аяксов хуяксов использовать? Чем-то мокаете? Моя идея делать тестовый сервак на фласке кажется мне сомнительной из-за разницы в url. Прописывать константы тоже бредово, потому что перед продакшеном придется все чистить вилкой.
>>1417582С кем ты конкурировать собрался с таким подходом, чушка? С обезьянами, которым дали клавиатуру поиграться? Ну ты и на их фоне ничтожен.>>1417617> придется все чистить вилкойТак это и есть твоя работа - говно вилкой чистить, хреньворкщик.
Есть значит три параграфа у одного айдишник oneЕсть пикрелейтед жс код.Очевидно хочу при клике, чтоб цвет бекграугда менялся на заданный.Если let сменить на var то работает, а так нет. Понимаю, что то-то с областью видимости связано, но сам чет не могу понять, помогите братишики, вкатился вчера.
>>1417667нет, ты уебок, у меня js в отдельном файле и работает только если включить его в конец бади, а из хеда не работает.
>>1417666Обезьяна винторогая, а ничего, что у тебя твой ёбаный тег идёт после скрипта, и он его просто не видит?
>>1417670Свинья, нахуй ты мне вообще отвечаешь тут, если сам блять нихуя не знаешь про жс? Пошел нахуй просто у меня как у бати жс отдельно хтмл отдельно, а ты дегенерат все в одну кучу пишешь поэтому и не понимаешь о чем, ебал твою мать.
>>1417667двачую >>1417669да пофиг вообще в каком он у тебя файле, на поведение влияет где именно ты его вставил а не то, написал ты его прямо там или импортировал. скрипт который должен дождаться загрузки страницы ставится в конец страницы или оборачивается в addeventlistener domcontentloaded
>>1417689>ставится в конец страницы или оборачивается в addeventlistener domcontentloadedКантор завещал ставить defer
>>1417354кто топит за вар-то?Что за тупой вопрос?Если тебе не нужен глобальный скоп (а он тебе почти никогда не нужен), делаешь лет и констЕсли нужен, делаешь варХули вы, яваскрипторы, такие тупые?Может, тебе еще объяснить, почему в одном случае используют оператор +, а в другом - ?
>>1417582> Не хочетсяНе хочется тебя расстраивать, но на галерах с таким подходом ты далеко не уедешь.
объясните за наследование пустого класса плизну например class NewClass extends OldClass {}что будет с конструктором, тут ведь нет никакого super(...args),будет ли у нового класса доступ к методам старого?
Есть вопросик по прототипному наследованию. оно тоже наверное нинужно, как и вары, но все жеИмеем такой код 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?
>>1417742или же получается, что number передается в замыкание this.show() в тот момент, когда вызывается A.call(this)? Но ведь замыкание создается в момент вызова, а во время A.call(this) не вызывается this.show() - она просто записывается. Во время вызова this.show() же уже не должна видеть number в замыкании, так как она уже перенесена из конструктора-родителя
>>1417744>В момент функции obj.show() метод уже не должен дотягиваться через замыкание до numberНет. Замыкания работают как раз наоборот, где в коде функция обозначена, оттуда она и будет смотреть. Если ты хочешь пользоваться наследованием, то используй this.number = 10, console.log(this.number)
>>1417742> A.call(this);а это точно прототипное наследование? я не вижу никакой манипуляции с прототипом...
>>1417751Прикольная задачкаМассивы при сложении приводятся к строке, получается '{}.a' === 'true', что дает falseВосклицательных знаков там 15, что можно сократить до одногоТо, что в скобках преобразуется к строке получается footrueполучается false && !('footrue').bind([]).Конъюнкция запинается об ложь, то есть то что справа не выполняется, получаем ответ false
>>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;
>>1417769Но все же интересно, что случилось бы справа, если бы до туда вычисления дошли. У получения метода и вызова функции приоритет выше, чем у логического отрицания, то есть это эквивалентно !(('footrue').bind([]))Но у строк нет метода bind. Вызов отсутствующего метода должен выкинуть ошибку.
>>1417742и тут уже написали, правильно оформлять код иначе, через прототипы:A.prototype.show = function() {....}В противном случае, если ты делаешь 1000 объектов, то ты создаёшь при этом и 1000 копий функций.
>>1417776Спасибо, понятно. Значит, функция запоминает свой контекст еще во время своей записи, а не во время непосредственного вызова.
>>1417786И правда. Но {}.a вообще является undefined, так что при строковом преобразовании оно должно преобразоваться в 'undefined'
>>1417796Ха, ввел console.log([undefined, undefined] + '') и вывелась только запятая. Значит, элемент undefined и правда равен отсутствующемув этом можно убедиться, если ввести arr = [1, 2, 3, 5];console.log(arr[10]);То есть десятого элемента там нет, но при его получении выводится тот же undefined. Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента. Интересно)
>>1417799нет, undefined, отсутствующий элемент и '' - это совсем разные случаи.Вот когда ты делаешь приведение массива с undefined к строке, JS интерпретирует undefined как пустые строки.Запятая у тебя вывелась потому, что [undefined, undefined] превратился в ",".
>>1416079 (OP)Ананасы, драсти вам. Вы можете пояснить, как скрывать треды автоматом через скрытие в настройках двача? Куда и что писать, что бы например не видеть тредов с оп-постами, включающими в себя "вжлинк". Поясните позязя.
>>1417799>Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента. ну массив же объект где индексы это строки ключи, ну т.е. если нет такого ключа его значение андефайнед и если есть такой ключ и ему присвоено значение андефайнед он тоже андефайнед
>>1417803>Запятая у тебя вывелась потому, что [undefined, undefined] превратился в ",".ну это я понял. Я имел в виду, что при приведении к строке undefined становится пустым элементом (и соответственно пустой строкой), хотя по идее он должен был бы приводиться в 'undefined' - ведь строковое преобразование этого типа вне массива именно такое
>>1417799>То есть десятого элемента там нет, но при его получении выводится тот же undefined. Значит, для массива прямо указанный элемент undefined ничем не отличается от просто отсутствующего элемента. не значит, это функция получения элемента из массива, или геттер, возвращает тебе значение undefined, если элемента нет. Ей просто надо что-то вернуть, вот и возвращает, как умеет.
>>1417807>хотя по идее он должен был бы приводиться в 'undefined'Детка, это JavaScript, какие идеи, какая логика?
>>1417812Но внутри машины-интерпретатора JS там всё равно фактически реализация через геттер. И у тебя два варианта, или надо вернуть какое-то значение, или выбросить исключение. Так решили, что всё-таки надо возвращать какое-то значение, с точки зрения кодирования так удобнее. > var m = []undefined> m[10] = undefinedundefined> m[ <10 empty items>, undefined ]> m[5]undefined> m[10]undefined> 5 in mfalse> 10 in mtrue> m.length11Там вообще магии много. Вот тут пример, я присваиваю undefined элементу 10, у меня получается вроде как массив из 11 элементов. Но при этом первых десяти (0-9) нет, а 10-ый undefined.
>>1417817Занятно. А преобразование элемента undefined к пустой строке при строковом преобразовании массива тоже, получается, напрямую прописано где-то в методе toString прототипа массива?
>>1417817>Вот тут пример, я присваиваю undefined элементу 10, у меня получается вроде как массив из 11 элементов. Но при этом первых десяти (0-9) нет, а 10-ый undefined. ну это-то понятно т.к. массивы в джс не массивы а хэш таблицы
>>1417825там что-то среднее между массивом и хеш-таблицей. В классической хеш-таблице, когда я делаю m[100000] = 1, если до этого таблица была пустая, то в итоговой был бы 1 элемент. Но в JS получается, что у тебя уже 100001 элемент, но при этом под остальные не выделена память и они значений не имеют. То есть остальные не undefined, а какое-то другое, неопределённое значение имеют.
>>1417830а выделяет ли он память? тогда было бы логично и ключи им раздать и назначить андефайнед, а так ключ есть только у одного элемента, может это просто toString пишет <10 empty items> а на самом деле их и нету...
По-моему, дело обстоит так Если мы создаем var m = [ ]А затем пишем m[1000] = undefinedТо внутри массив выглядит так { '1000' : undefined length: ключ последнего элемента + 1 }Это весь массивТо есть там нет, скажем, 500-го элемента, он не пустой, не неопределенный, его просто нет. Соответственно, память занимать нечему. Такое внутреннее понимание массива вполне укладывается в фичи, указанные здесь>>1417817когда мы получаем m[5] - undefined, то мы обращаемся к отсутствующему свойству массива, на деле там нет никакого ключа '5' с соответствующим значением. Согласно правилам джса, обращение к отсутствующему свойству возвращает undefined. Отсутствие этого свойства доказывается с помощью> 5 in mfalseВ то же время свойство '1000': undefined там есть. Поэтому 1000 in m вернет true
>>1417834Нет, не выделяет. Этих emtpy items может быть очень много, 4 миллиарда (232). Это просто какая-то неочевидная логика поведения. Фактически тут не массив, а некий хитрый объект. Свойство length этого объекта показывает не число элементов в нём, а индекс максимального элемента с численным ключом от 0 до 232, другие элементы не учитываются. Это сделано, наверное, для того, чтобы можно было удобно в цикле массивы обходить и для разных таких операций. Например, если делать push(), то элемент добавится в конец, а не в первую свободную ячейку. pop() убирает элементы с конца, даже не определённые. > var m = []undefined> m[1000] = 33> m[ <1000 empty items>, 3 ]> m.length1001> m.pop()3> m[ <1000 empty items> ]> m.length1000> m.pop()undefined> m[ <999 empty items> ]> m.length999
>>1417838В консоли nodejs так удобнее, вот почему:> var x = 10undefined> var x = 10undefined> let y = 10undefined> let y = 10SyntaxError: Identifier 'y' has already been declared> let x = 10SyntaxError: Identifier 'x' has already been declared
Но! Мои же слова опровергаются следующим кодом 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 }}Звучит правдоподобно?
>>1417842Кстати, вот чего не знал. Значение length массива можно перезаписать. И если это значение будет меньше N, то все элементы с индексом больше будут похерены> m = [][]> m[1000] = 123123> m.length1001> m[ <1000 empty items>, 123 ]> m.length = 20002000> m[ <1000 empty items>, 123, <999 empty items> ]> m[1000]123> m.length = 400400> m[1000]undefined> m[ <400 empty items> ]> m.length = 20002000> m[ <2000 empty items> ]> m[1000]undefined
>>1417852Под капотом, по всей видимости, есть объект, у которого определён атрибут lengthэто интерпретируется как массив длины length. Все элементы этого объекта с ключом от 0 до 2 32 интерпретируются как элементы массива. Все другие элементы, с большими ключами или со строковыми ключами, живут своей жизнью. Если ты записываешь какой-то ключ, то автоматически корректируется атрибут length. Если уменьшить length, то элементы массива с большим индексом удаляются, но с другими ключами остаются, они живут своей жизнью. Преобразование к строке работает примерно так, да. Скорее всего это в стандарте описано. Как это технически реализовано, уже ХЗ, может быть и очень сложно реализовано и каждая машина по-своему может поступать.
>>1417853>Кстати, вот чего не знал. Значение length массива можно перезаписать.пиздец, вы откуда лезете? из хэлоу ворлда сразу в хреньворки прыгаете?
Ну, то, что массив есть объект, является очевиднейшим фактом. Ведь вы легко можете сделать так var arr = [ ] arr.abc = 'hello world'console.log(arr.abc)Вопрос лишь в том, каким именно образом под капотом все это реализовано)
>>1417856Кстати в отличии от PHP, который клепали на коленке, JS вроде разрабатывался Netskape, серьёзной конторой. Но логика неочевидная. Я думаю, что клепали так, чтобы для примитивных случаев работало просто и понятно. Но в сложных случаях и по реализации из-за этого магия начинается. Никто не думал, что на JS будут какие-то серьёзные приложения писать.
>>1417866но только это совсем другой объект, и поведение его будет совсем другим, если бы ты тоже самое сделал какvar arr = {};arr.abc = 'hello world';console.log(arr.abc)посмотри хотя бы на доступные методы и атрибуты. У обычного объекта атрибута length просто нет. И много чего ещё нет.
>>1417864Кантора презирают, а ведь в его учебнике это написано в одной из первых главУх...>>1417868Ну мне кажется, что эта фишка очень даже полезна. Например, нам поступает куча массивов, и мы хотим, чтобы все они были приведены к одной длине x. Нет ничего проще, чем прогнать их по циклу и поставить каждому length = x;А без этой фичи все было бы куда мудреней. Так что нормально сделали, маладцы
>>1417870Ну я имел в виду, что и массив и объект во внутренней реализации языка имеют общего предка) А так, понятно, что у массива куча своих методов
>>1417872>Кантора презирают, а ведь в его учебнике это написано в одной из первых глав>Ух...это по большему счету бесполезное знаниеравно как и другой платиновый пример из кантора выше >>1417060годится только потроллить т.к. var не используются на практике равно как на практике никто не переписывает length массиву что вообще жуткая ересь и не должно быть возможно
>>1417872>Например, нам поступает куча массивов, и мы хотим, чтобы все они были приведены к одной длине x. Нет ничего проще, чем прогнать их по циклу и поставить каждому length = x;спасибо проблевалсяэта какой-то шедевр говнокодерской мысли
Добрый вечер, товарищи.Подскажите в какую сторону копать? Сам js не знаю, но есть небольшой проект, который нуждается в нем. Суть: Есть два поля, вводишь в одно цифры, во втором появляется в реал-тайме это значение умноженное на 2.Соответственно, вводишь в другое, там поделенное на 2.Главное, чтобы цифры в реал-тайме выводились.Какие методы/конструкции гуглить? читать книги по js не отправляйте
>>1417868>JS вроде разрабатывался Netskape, серьёзной конторойЕго разработал один, полностью угашенный долбоеб за несколько дней.
>>1417707И?Что сказать-то хотел?Свои вопросы уже все разрешил? Почему в языке есть вар и лет одновременно, и прочие проблемы тысячелетия.
>>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>
>>1417938И не нужно. Иди манагером по продажам работать, бабла больше заработаешь, бабы на тебя вешаться будут.
>>1417939>>1417904я чуть иначе понял ТЗ, скорректирую этот пример как я понял:https://jsfiddle.net/6grma970/
>>1417904>читать книги по js не отправляйтеА потом ты придешь спрашивать, зачем нужен var? Попался, хреньворщик.
>>1417973Да совсем уже охуели, прямо сюда тз с работы несут, а тут им какие-то чепухи нахаляву делают. И учить не надо ничего.
>>1416079 (OP)Блед, я так понимаю, что в основной массе вакансии, где нужен жс это фронтенд? рикты, вью хуе мое вот это все?Чет бесит вся эта залупа, вы там вообще используете алгоритмы базовые, хуе мое вот это или просто как мне кажется двигаете тазом блоки и играетесь с их поведением в браузере?
>>1418030Я конечно понимаю, что это двач и жс тред, где концентрация детишек увеличивается на количество звезд во вселенной, но не до такой же степени.
>>1418023>вы там вообще используете алгоритмы базовыеТ.е. ты в каждом проекте используешь собственноручно написанные сортировку методом пузырька и обход бинарного дерева, да?Или тебе нужны еще более базовые?
>>1418049Че несешь уебок, членодевка блядь, сука черти, идите в макдак работайте, а не ко мне в погромач, черт блядь. Жсо петух, который только и делает элементы таскает по экрану, умничать пытается, ебаный стыд.
>>1418063Держу твою мать в заложниках своего хуя!как я тебя, а? а? а? Держу твой уровень дегенерата-школьника%
>>1417674>Пошел нахуй просто у меня как у бати жс отдельно хтмл отдельноНо ведь этот подход уже безнадёжно устарел с тех пор, как появился Реакт, который позволяет писать JS и HTML вместе.
>>1417674маня скоро html объявят deprecated в пользу jsx и постепенно будут убирать его поддержку в браузерах. посмотрим тогда что ты кукарекать будешь питушок
https://cs.chromium.org/chromium/src/v8/src/objects/js-objects.cc?sq=package:chromium&g=0Я, кажется, нашел исходный код джаваскрипта!Но проблема в том, что там все на языке СИ. Но ведь некоторые внутренние методы, скорее всего, написаны на самом js (например, методы массивов). Но если попытаться их прочитать из браузера, то ничего, кроме function slice { native code } мы не увидим. Так где же можно найти этот натив код? Или даже всякие простые встроенные методы написаны на си?
>>1418276V8 никто и не скрывалPS https://en.wikipedia.org/wiki/List_of_ECMAScript_enginesбраузер != chrome
>>1418276> Так где же можно найти этот натив код? Например тут:https://github.com/ccxvii/mujs/blob/master/jsarray.c#L229
>>1418312Если правильно нашел, то вот slice в v8:https://github.com/v8/v8/blob/bd0b0ce/src/builtins/array-slice.tqНаписан на этом:https://v8.dev/docs/torque
Аноны, реквестирую помощь в выборе фреймворка.Дано: фласк на бэке, ебаная мешанина из говна, jquery и нонейм плагинов, которые даже не гуглятся толком, на фронте. Фронт дубовый в плне добавления функционала просто пиздец, да еще и написан человеком-обфускатором.Хочу нормально переписать и прекратить страдать.Из особенностей- нагрузка по посещаемости минимальная, надо реалтайм выводить/обновлять довольно много инфы
>>1418477На JS все, что угодно, можно делать. Для фронта бери React, быстро освоишь, легко перепишешь.
>>1418481Спасибо. А про vue что-нибудь можешь сказать?коллега с соседнего цеха переписал свою хуйню на реакт, теперь хочет на вуе
>>1418484У них похожий подход, Vue можешь постепенно в свой проект встраивать, гугли ещё vuex тогда сразу.Просто посмотри краткую суть обоих и выбери что-то под себя.
Котаны, как в строке, содержащей пробелы и двоеточия, заменить их и их комбинации на дефисы?Т.е. из "a b:c :: d" сделать "a-b-c-d" ? Прогнать строку через несколько strReplace?
>>1418940Я выгляжу как на верхней части последней картинки, но пишу на питоне и параллельно вкатываюсь в раст, планирую в го ещё.
>>1417930Твоя агрессия говорит о том што ты вырос в:а. в скрыто нарциссической семьеб. в открыто нарциссической семьеПсихотерапия лечит оба варианта
>>1419049спешите видеть:а. жабоскриптерб. не может понять, зачем одновременно надо var, let и const в единственном языке, который хоть как-то смог осилитьв. с умным видом пизидит про очередную хуету, про которую ничего не знаеттебя, анончик, не вылечит ничто. ты как ромка-попрыгун, тебя лечить бесполезно. прыгай, болезный, прыгай дальше
алсо в принципе можно нарисовать что-нибудь где удобнее функциональный а не блок скопинг, например свитч
>>1417033Мань, зачем ставишь скобки после однострочного цикла? Дрочишь на лайнкаунт небось? И вообще что за дичь на скринах?
>>1419316Мне тимлид говорил, что скобки надо ставить всегда. Понятно, что с одной строкой будет работать и без них, но код пишется для человека, а не для машины. И со скобками он, дескать, лучше читаем. Плюс иногда возникает необходимость добавить строчку тестового кода вроде того же console.log мимо джун
>>1419316Во всех современных стандартах оформления кода скобки считаются обязательными, даже когда язык позволяет их опустить. Тут и читаемость, и потенциальные баги, и много чего ещё.Не ставить скобки очень дурной тон.
>>1419505Возможно, я тупой, но не понимаю постановку задачи. Весь jsx же это просто сахар для React.CreateElement, зачем его группировать в одном файле-то?
а я вот задумался, как написать подобную функцию на ES 2018(или может вы видели в либах)пусть у нас есть объект let obj = {q: 1, w: 2, e: 4, t:5};хочу функцию, которая бы принимала мой объект и ключи которые мне больше не нужны в новом объекте и возвращает новый объект без тех ключей
Кто-то из здешних юзал? play.js - JavaScript IDE — nakiostudio S.L.https://apps.apple.com/ru/app/play-js-javascript-ide/id1423330822Или нахуй?
>>1416404переменная тру фалс. которая содержит информацию дозволено ли ОСТАНОВИТЬ функцию. вначале переменная =false. первый вызов без остановки.обертка запрашивает переменную. если она false все норм функция выполняется. если она true происходит быстрая эвакуация и функция не выполняется.вторая часть обертки. - вызываю функцию. меняю переменную на ТРУ. теперь повторные вызовы из за этого значения переменной - не сработают. вызовут экстренный выход из обертки.третья часть обертки. через ms*1000 секунд будет вызвана анонимная функция которая поменяет значение переменной ДОЗВОЛЕНО ЛИ ПРЕРВАТЬ на falseтаким образом повторные вызовы обертки не срабатывают если они произошли в течении заданного времени.
>>1418591str.split(" ").join("-").split(":").join("-")разбить на массив по пробелу( соединить в строку дефисомразбить на массив по двоеточию( соединить в строку дефисом(((еще реплэйс и ^это будет тупить на двойных двоеточиях
>>1420147>это будет тупить на двойных двоеточияхОно не тупит. Он неправильно работает на всём не одинарном.
>>1416079 (OP)Где вообще занимаются версткой? Я, например, хочу вот попрактиковаться. Мне что открывать текстовый редактор? А потом открывать файл в браузере и при малейшем косяке снова редактор и снова сайт в браузере? Нет ли какой-нибудь программы где можно в динамике видеть результат? Желательно под линукс.
Аноны, встала задача одна, прошу совета. Сразу скажу, что вопрос касается Node. Есть некий алгоритм, который проверяет IP адреса, мне нужно чтобы при ошибке, краше, работа продолжалась с того же места, на котором произошёл краш. Проще говоря как сохранить стейт. Подскажите в каком направлении думать, гуглить.
Скриптаны, нужно сделать обертку для (local)Storage. Для каждого пользователя должны храниться его драгоценные настройки, поэтому в хранилище их буду класть как { user1: { color: 'red' }, user2: { color: 'blue' } }.Выберите мне апи и названия еще за меня придумайтеЯ бы сделал через обычные get/set, но хранилище асинхронное, боюсь понадобится ждать пока сохранение пройдет, а set мне промис не вернет
Мало того, что этот тред умирает, так кто-то еще и второй создал. Похоже, js всё, как предсказывали, пора перекатываться.
>>1420883Да причём тут обработка ошибок? Если выполнение завершилось по разным причинам, не только из-за ошибок.
>>1421276Хотя нет, смешно получится.Сделай очередь тасков, у каждого таска отмечай начат он (и когда) или нет, producer пускай отдает только не начатые таски, consumer(ы) по завершению пускай отмечают таски как завршенные (или удалают их из очереди). И еще нужен сервис который по расписанию удаляет завершенные таски и убирает отметку у тасков которые начаты, но давно.
>>1421272хм вангую тогда тебе нужен менеджер процесса, я юзаю релейт, мне это решение подходит: http://pm2.keymetrics.io/
Код из книги you dont know js, тут на самом деле выводится undefined, а не 2. Почему все хвалят эту книгу, если она с ошибками? Тут 80% примеров не работают.Причем автор сам пишет в прошлой главе, что мы не можем получить доступ к объекту области видимости, а потом обсирается во всех примерах кода в этой книге
>>1416079 (OP)- что я хочу получитьХочу вынести скрипты jQuery в отдельный файл при подключеном бутстрапе.- что я для этого делаюПодключил бутсрап, создал отдельный .js файл, подключил его к странице в теге <script>. При этом jQuery пашет если писать скрипты прямо в коде морды, т.е он подключен.- что я вместо этого получаюКучу ошибок вида %хуйнянейм% undefined при попытке чето написать в отдельном файле. Перерыл весь инет - нихуя. Для написания кода пользуюсь Brackets.
>>1421450>jqКонечно.Я как только не пробовал, некоторые пишут перед закрытием тега body подключать скрипт, некоторые пишут в head сразу после подключения jq. Ну или я говна начитался, но в любом случает нихуя не пашет.
>>1421471?>Код для брузеракакая разница?>долженкогда он успел задолжать? в книжке про глобальный объект сказано, нет ни слова о том, что это должен быть именно window
>>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.
>>1421463Спасибо.Тэкс, теперь скрипт в браузере работает, но в Brackets ошибки не перестали появляться, может дело в нем? Видимо он не понимает что в этом файле подключен jq и ругается, что делать?
>>1423743мне вчера в б говорили что человек не может быть стажером на реакте потому что для того чтобы знать реакт надо выучить жиквери и бутстрапчестное пионерское
>>1416079 (OP)АНОНЫ СПАСИТИ!!!! Есть ли возможность при помощи jquery спарсить страницу, после всех манипуляций на ней скриптов с DOMом. Типа есть сайт, при заходе на который дохуя контента грузится скриптами, мне нужно получить весь HTML код страницы после их прогрузки для дальнейшей обработки, но я нихуя не могу придумать или найти в нете как это сделать. При обычной конструкции как на пике выдает код скриптов но не результат их работы. Есть ли способ это сделать при помощи jquery, или php+jquery? Желательно с ссылками на примеры или примером кода.
>>1437315https://stackoverflow.com/questions/13917047/how-to-get-a-content-script-to-load-after-a-pages-javascript-has-executed
>>1419316Сразву видно быдлокодеров.Однострочками без скобок только пишут неподдерживаемое и трудночитаемое гавно. Поссал на дауна
>>1437367Ну и нахуй он мне нужен, что б я еще в него вникал, разбирался что это и напрягал мозги в попытка понять как применить эту парашу? Я просил помощи в конкретном примере. Почему все программисты не могут просто прямо ответить на поставленный вопрос, вечно блядь все усложняют. Типа "ну тебе надо прочесть вон ту книгу на 1000 страниц с мануалом там возможно будет решение твоего вопроса", притом что мне надо прописать всего 2-4 строки что б решить свою задачу. Сука и так каждый раз когда просишь помощи, раз 5 просил уже, всегда одно и тоже, куча каких то советов от которых хуй да нихуя, а по итогу решаю все сам. Ладно, поебать, я уже нашел как свое сделать.
аноны есть переменая - обьект. в котором хранятся данные как напике. как прогнать построчно каждый элемент дом дерева внутри главного дива, включая то что не в тегах и обработать это?
тред жаваскрыпт умер нахуй помянема вы еще переживаете за перегретый рыночек. успокойтесь, вы все еще не нужны, но теперь уже по другой причине.
Поясните второй пик, почему так? Ведь по очередности операторов сначала должен сработать member access и сразу же выдать type error.
>>1439729эмм, анон, ты свою левую картинку читал? там все считается слева направоyoba - undefined, андефайнед в логических операторах срабатывает как false (оно falsey), поэтому вторая часть выражения после && даже не вычисляетсявот если ты заменишь && на || или поставишь yoba.a == 1 слева а не справа от && или поставишь слева что-нибудь равное true то он бросит ошибку т.к. не сможет определить yoba.a
>>1439737А ты читал левую колонку моей левой картинки? Там стоит приоритет оператора. И у member access он самый высокий. Значит сначала должен сработать он, потом ==, а потом уже &&
>>1439739ты не понимаешь как работает логические и/или они вообще не вычисляют вторую половину если первая не false (true для или)у операции которую даже не запустили не может быть приоритета
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?
>>1439740Блять, я знаю про short circuit evaluation. Но смысл тогда в этих приоритетах операторов, если && выполняется первым
>>1439742фу, классывообще я нихрена не пони как твое приложение работаетпосле перезагрузки страницы все обнуляется конечно же. нужно инфу дергать из бд или локалсторейдж т.к. иначе компоненту неоткуда взять список продуктов для вычисления (на скрине список продуктов передается через пропс, но откуда он берется там я хз откуда он у тебя их берет)
>>1439752>на скрине список продуктов передается через пропс, но откуда он берется там я хз откуда он у тебя их беретЭто реакт. Props от родительского компонента же, как атрибуты передаются там.
кстати у меня тоже вопрос по реактупочему так получается?ведь это же чушь, this в стрелочной и в обычной функции должна указывать на разные вещи, а тут она указывает на один и тот же setState
>>1439757это понятно, но если ты перезагрузил страницу откуда там список продуктов?т.е. где-то персистент сторейдж или это захаркодено?потому что-то скорее всего где то там и причина почему всем компонентам идут одинаковые пропы
>>1439744Сука."Operators with higher precedence become the operands of operators with lower precedence."Значит первым выполняется оператор с самым низким приоритетом?
>>1439759А ты ещё раз прочитай официальную доку, где они начинают писать эти 'стрелочные функции'.Получается так потому, что это нихуя не стрелочные функции, а обычные функции, да ещё связанные с объектом.babeljs.io/docs/en/babel-plugin-proposal-class-properties
Как изолировать сраные стили бутстрапа на vue в пределах одного компонента и его детей?Пробовал уже разные конструкции, типа <style scoped lang="sass">@import=huipizda</style>Все равно это говно вылезает за свои пределы.Подключение реализовано через пыху: маунтится 2 инстанса вуе, в одном должен буть бутстрик, в другом нет.Что делать?
https://codesandbox.io/s/crazy-brattain-6khx2 Почему не работает, аноны? Послеconsole.log(countReducer(5, incrementAction, 100));console.log(countReducer(-5, incrementAction));state как бы запоминается и теперь в action.payload записывается третье значение! Майндфак ебучий Б
>>1440167Не пользуйтесь этой парашей пацаны рискуете на ровном месте получить магию Навернул всё в проект и всё работает как надо
>>1416079 (OP)Аноны помогите. Короче, взял заказ, парсить ебаный сайт лудоманов myscore. Долго ебался с тем что б получить хоть какие то данные с главной страницы, потом наконец получилось найти аякс запрос которым подгружается контент, но вот беда контент приходит какой то блядь кодированный и я нихуя не знаю, что с этим делать. На скрине код с запросом которым получаю данные, и собственно данные которые приходят, как это превратить в нечто читаемое, кто сталкивался?
Анон, помоги с расширением для фаирфокса.Мне нужно модифицировать урл при открытии нового таба. Написал листенер для для tabs.onCreated, но такое впечатление, что он не срабатывает. С правами в манифесте все ок, код в бэкграунд, а не контент скрипте, а в результате хер.
>>1440838АхахахахахаПиздец, за помощниками сюда пришел, да еще и написать без ошибок не смог.Но спасибо, что ты честен, и не вылазишь за пределы треда для уебанов.
Привет.Я сделал прикольное™ API и хочу запилить JS-либу-обертку над ним чтобы привлечь разработчиков. Удобнее же заюзать API.getMessages(), чем делать самому запрос к апи. Есть какие-то готовые решения под мой кейс?Решил попробовать axios, но я нихуя не понимаю в этих ваших асинках, промисах.Если ничего готового нет и мне придется работать с axios, то не мог бы кто-нибудь написать пример хотя бы одного метода?Я хочу, чтобы метод getMessages возвращал массив JSON объектов (он так и приходит в респонсе). Но чтобы при этом, если у юзера нет необходимых прав (пришел 403 ответ) выбрасывалось какое-нибудь исключение. И при этом чтобы все было асинхронно, как вы это любите.Или дохуя хочу?
>>1416079 (OP)Оп,Что теперь натуралом притворяешься?Но зачем?Даже ссылку на github со своими материалами удалил, потому что, сразу в IRL палился.Но вот ты расскажи, тебе не надоело всё это дерьмо?Не надоело прятаться, скрываться, играть в норм мужика итд?Да, пошли ты их всех на хуй и будь тем, кто ты есть!Гордись тем, что ты ПИДОР!!!
>>1441307ну так сделай? задача по сути самому написать запрос и вывод удобный сделать. только учти что т.к. внутри асинхронные операции то и метод твой будет асинхронный лол, асинхронность заразнафетчинг json с помощью fetchhttps://dev.to/shoupn/javascript-fetch-api-and-using-asyncawait-47mpс axios я не имел дело (вообще не пони зачем он если есть fetch) но вот тут полно примеров в ридмиhttps://github.com/axios/axios
да, чтобы выбрасывалось исключение просто твой сервер должен возвращать джсон типа {"idi": "lesom"} а метод соответственно при получении такого чуда бросать throw new Error('Idi lesom!!')как бросать ошибки через try catch в асинхронных функцияхhttps://stackoverflow.com/questions/44562426/can-i-throw-error-in-an-async-function
Почему много людей в /pr очень негативно относятся к фронт-енд/бек-енд разработчикам, обзывая их «веб дебилами» или другими оскорбляющими словами?
>>1441976АхахахахаУ вас тут теперь общество анонимных макак?"Здравствуйте, меня зовут Антон, и я пишу на яваскрипте"
Ангуляробояре есть? Залетает проект, походу будет гибридная приложуха на ионике, а я реакт-макака. Какой нынче актуальный стек для разработки на ангуляре, чтоб я не понатянул устаревшего дерьма в зависимости?Спасибо :з
>>1416079 (OP)Аноны, как вы устанавливаете общение между сервом и реактом?Вот у меня есть экспресс и реакт, у меня есть вариант общаться через аксиос или фетч получая инфу после логина и внося изменения в интерфейс, так же можно через экспресс поставить зашифрованные через бикрипт куки и потом наверное каким-то образом основываясь на токене выбирать что рендерить, и можно использовать реактСерверДом и рендерить компоненты прямо с экспресса, я так понимаю им можно будет так же передавать какие-либо значения.Как сделать первое я знаю, как сделать последние два я не ебу, однако мне кажется реализуемо.Какой способ из этих будет лучше?Вот в третьем способе когда будет происходить допустим рендер компонента на сервере, как он потом встроится в уже построенное сбилженное дерево на фронте? Не понятно мне, джуну...
>>1442698Потому что заказчик настаивает. Говорит, что по ангуляру легче найти команду для поддержки. Странный, реакт-макак как говна.>>1442697>основываясь на токене выбирать что рендеритьСобственно примерно так аутентификация и работает. Только там еще ебля с тем, чтобы проверять актуальность токена. Что-то вроде- твоя приложуха загрузилась- в кукисах найден токен- фетчем или аксиосом ты чекаешь что он не устарел- если все ок - рендеришь компоненты для залогиненого юзера- данные для них получаешь, подписывая аксиос реквесты этим токеном>когда будет происходить допустим рендер компонента на сервере, как он потом встроится в уже построенное сбилженное дерево на фронтеНикак. ДОМ на фронте будет строится из уже отрендеренного сервером, а потом жить своей жизнью, как обычно.Кстати, для передачи данных есть ещё graphql, охуенная штука.
>>1442726Спасибо за ответ.Я знаю про графкл, делал на нём пару легких вещей, но сюда внедрять его нет смысла.У меня приложение простая регистрация с профилем и редактированием профиля.Я почему-то загрузился и начал искать всевозможные пути обхода аксиос пост реквеста через него на экспресс.Я сделал простую форму у которой кроме onSubmit есть action="/" method="POST" в форме, всё отрабатывает нормально при приеме, но далее мне с экспресса надо отправить репонс с true или false авторизацией\регистрацией, а так же установить куки. Этот ответ я хочу хранить в редаксе, хотя наверное мне не нужно это делать, возможно мне достаточно просто куки, но всё равно я еще слишком зеленый чтобы нормально продумать архитектуру.ИЗанчально был замысел хранить в редаксе значение и на основе него рендерить юай, а именно убрать кнопку регистрации\авторизации и вместо них поставить логаут, профиль и редактирвоание профиля, а так же сменить начальный экран.Вот как-то так, не знаю почему я начал наркоманить и не делаю просто onSubmit -> axios. Всё-таки хочется сделать как задумал.А про серверДомРендер тоже интересная идея пришла в голову только вчера
>>1442922Реакт нейтив есть. Он про ионик не знал, просто сказал - хочу ангуляр. А как вы там дальше будете ебаться - ваши проблемы.>>1442939>Всё-таки хочется сделать как задумал.Сам себе палки в колеса суешь. Аксиос рано или поздно придётся освоить (или фетч), и это не такой сложный инструмент.>форму у которой кроме onSubmit есть action="/" method="POST" Это было нужно, когда темплейты рендерились на сервере всяким пхп, и обычно после нажатия сабмита следовала перезагрузка страницы.>хранить в редаксе значениеТоже не совсем то. Сам токен лучше хранить в куки или локалстореж, так как при обновлении страницы у тебя редакс стор по пизде пойдет если ты не запилил redux-persist. >я еще слишком зеленый чтобы нормально продумать архитектуруЯ тебе выше написал, как это устроить.
>>1442957>Сам себе палки в колеса суешь. Аксиос рано или поздно придётся освоить (или фетч), и это не такой сложный инструмент.Я их знаю прекрасно! Просто хочу по-другому. Так бы давно реализовал всё >Это было нужно, когда темплейты рендерились на сервере всяким пхп, и обычно после нажатия сабмита следовала перезагрузка страницыСлушай, а что происходит когда происходит отработка формы по экшену и методу? В чем отличия от xhr(и насколько я знаю основыанных на нём аксиос и фетча)? > если ты не запилил redux-persistДа знаю, редакс не хранит состояние.
>>1442961В том, что в ответ ты всегда получаешь новый html, а не какой-нибудь жсон.Сейчас- отправил жсон- сервер сделал дела, ответил жсоном- получил жсон, обновил что-то там на клиентеРаньше- нажал кнопку на форме- браузер отправил запрос- сервер сделал свои дела, сгенерировал новый штмл- отправил тебе страницу- браузер загрузил и отрисовал новую страницуПо сути то же самое, только с длительной перезагрузкой, когда щас у тебя реакт перерисует все по-быстрому, получил нужный ответ от сервера.
>>1442961>а что происходит когда происходит отработка формы по экшену и методуОтправляется POST запрос на юрл, указанный в "экшн", передавая квери-стринг с кей:валуэ данными. Где кей - аттрибут name инпута, а валуэ - его значение.
>>1442957>Сам токен лучше хранить в куки или локалсторежТокен лучше не хранить в локале, кмк. XSS сейчас более популярны, чем CSRF.
>>1444180Работал хоть день в вебе? Тильда пока не вбивает гвоздь даже в васянов, верстающих ледносы за 3-5к рупий на русскоязычных фриланс-биржах.
>>1444325let/const vs var, push, pop, slice, splice, map, filter, reduce, спред оператор, деструктуризация, bind, call, apply, отличие стрелочной фунций от обычной, ПРОМИСЫ, async/awaitВсе, что тебе нужно знать
сап програмач, выручай плиздопустим есть файл с обьектом:{"key1": "hui","key2: "pizda"}а нужно получить файл с таким обьектом:{"key1": "key1","key2": "key2"}те нужен именно файл, а не просто пройтись по обьекту и сохранить новый обьект в виде переменнойможно это как-то сделать с помощью жс?если что не ругайте зеленого, я только скрипты простенькие на фронте пишу и не претендую не на что
Посоветуйте пожалуйста материалы где много нужно кодить самому в плане "вот инфа, вот пример, теперь сделай сам", но сложнее вызова алертов.
>>1437315>при помощи jquery спарсить страницу, после всех манипуляций на ней скриптов с DOMом.нетна целевой в консоле в network смотри запросы ( которые содержат интересующюю тебя инфу ), и пытайся их реализовать у себя.
>>1417224Вары стоит понимать скорее потому что может оказаться так что библиотека которая тебе нужна написана на варах, и там или оказался баг, или тебе нужно расширить функционал библиотеки. Это конечно не самый частый случай, но полностью исключать вероятность нельзя.
Делал туду в реакте, почему вот это вываливается с ошибкой 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; }) }); };
>>1445825Ты блять больной ублюдок, не пиши так никогда больше.1. Передавай в setState простой объект только тогда, когда он не зависит от текущего state, в твоем случае это, очевидно, не так, и нужно использовать другую форму setState, которая принимает коллбек (state, props) => {...}. Кури доки на сайте реакта.2. Нахуя ты в map мутируешь элементы своего массива? Старайся делать коллбеки внутри map, filter, reduce и т.д. чистыми, чтобы потом не отхватить себе геморроя на ровном месте.3. В гугле забанили? Просвещайся: https://stackoverflow.com/questions/48497358/reactjs-maximum-update-depth-exceeded-error
>>1446294Погромисты блять, сложно в api reference зайти и найти нужный метод?https://reactjs.org/docs/react-component.html#setstate
Как выполнить скрипт на новой открываемой странице?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);уже нет.Что делать?
Как избавиться от TypeScript эрекции? Выхожу покурить каждый раз как забацаю функцию с типом ретурна зависящем от keyof'a. Не могу теперь смотреть на всякие джавы и шарпы, дженерики намного слабее.
>>1446957Ну сравни. Открывая по бланку, открывается новая страница, не трогая текущую. По селфу уже навигация в пределах текущего фрейма, то есть текущий код затрётся новым. Вот и выходит что код не выполняется потому что его уже нет.Попробуй через фрагмент в урле передавать. на с3хой конец куки, но лучше не надо
>>1447042Может есть лучшее решение, цель такова:Надо сделать "display: block" на другой странице при нажатии и все.
>>1447053ну хорошо, а ты бы как значение менял? получить indexOf, а потом по этому индексу изменить? Я правда не понимаю что в этом ужасного, и в большинстве примеров в гугле изменение через map идет как один из вариантов
В общем, я забираю данные по апи аякcом, на выходе получается словарь.Далее, мне нужно вывести некоторые записи, а остальные подгрузить по кнопке. Сам я ничего лучшего не придумал, как сделать это циклом типа такого:for (i=0; i < 6 (мне нужно вывести 6 записей); i++){$('.some-block').append(data.somedict.someshit)}А далее по клику подгружаю остальное циклом i=7,i<data.somedict.lenth; i++)Скажите, как правильно делать такую хуйню? У меня ощущение будто я пиздец хуйни наворотил.
>>1447074>примеров в гуглеТы еще попробуй учиться на примерах с ближайшего забора, вот там истинные мастера кода старались.
>>1447065На другой открытой странице или открыть и заменить стиль? Если первое, то пути нет. Если второе, то передавай что нибудь через сам путь в query. Идея js'ом лезть на другую страницу это полное дерьмо. Передай странице параметр, а она его прочитает и выставит стиль. Если, конечно, у тебя есть доступ к коду этой страницы.
>>1447077Да вроде норм. Я бы еще прилепил проверку, что в словаре >=6 записей, чтобы на первом цикле за лимит не выйти.
>>1447181По идее оно работает как просто якорь #. Ну, нажимается ссылка и на новой странице оно скроллиться туда же. Но дело в том, что мне нужен не скролл, а открыть конкретную вкладку на странице, т.е. по айдишнику открывается и все. Наверное через query сделаю или оставлю, чтобы новая вкладка в браузере открывалась.
Почему мне говорят, что джс - простой язык?Что-то нихуя не ощущается. Только что с типизацией не нужно заморачиваться, но разве это главное?
>>1448155Порог минимального вхождения ниже, минимальный набор инструментов - браузер, большое комьюнити.Язык простой, если не начинать делать на нем сложные вещи. Если не начинать заморачиваться со стандартами, фреймворками. Сейчас он выглядит сложно из-за огромного количества суперсетов и фреймворков, но это сложность не языка, а его окружения и никто тебя не заставляет в них вляпываться, если, конечно, ы не собираешься на нем зарабатывать.
>>1448166> суперсетГугл кидает на страницы про качалкуreact + redux + appolo + node + mongo = superset?
>>1448194Coffeescript, typescript, мертвый дарт и пр. После транспиляции становятся js'ом, потому что в конечном итоге только его браузер умеет исполнять. Типа как SCSS и LESS это суперсет CSS. С грубоватой натяжкой C и ассемблер.
>>1447184Спарси урл после загрузки и повесь на нужный элемент класс, дающий этот самый дисплей блок.Я бы сделал как то так - function parseGETParams() { let result = {}, gets = window.location.search.replace(/&/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;}На выходе получишь айдишник нужного тебе элемента
Какое оптимальное решение по выводу треугольника из звездочек в консоли?for(var i =0;i<7;i++){ for(var j=0;j<i;j++){ document.write('*'); } document.write('<br/>'); }
>>1448511Вот ещё:var lines = 7;var str = " ";var star = "*";for(var i = 0; i < lines; i++){ str += star; console.log(str);}
>>1448615>хз как так случилось что два треда активны.Например так: кого-то побанили и массово посты удалили по всей доске. У модеров есть такая кнопка "побанить пользователя с удалением всех постов". Мне один раз в /sci/ такой зобан прилетал. Вероятно, пользователь, которого побанили, успел отметиться в этом треде. После удаления его постов, тред вылез из бамплимита. Я не вижу в этом треде ссылки на перекат. Вероятно, ОП нового треда - аутист. Без ссылки на новый тред, в треде могли пооставаться аутисты, которые не перекатились и которые обратно вывели тред на нулевую.
ПЕРЕКАТ:>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)
>>1416079 (OP)0101 ананасынедавно начала знакомиться с java, нашла хорошую "среду"и первые же траблы, при скомпиляции переменных, не выдает цифры
Аноны, подскажите, как наиболее эффективно тянуть данные с сервера у которого есть делей (2-3 сек) на отправку данных?
>>1416079 (OP)Сап сасачеры, решил заниматься сайтами, html и css знаю и решил выучить язык программирования хотя бы один и выбор пал на js. Какие подводные?