Ссылка на прошлый тред: >>971814 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.mdКонфа /pr/ в Slack:https://invite-me-to-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Все кто ниже - пидорасы.
Памахите люди добрые. Делаю йобу, когда чел скроллит до ее топа - она должна прилипать кверху, на скролл табы переключаются и на последний таб она отлипает и скроллится раньше.Сделал это через $(window).scrollTop(). Те пока не дойдет до последнего таба окно скроллится к началу йобы, создается эффект прилипания. Во всех браузерах это работает нормально. Но вот жеж хуй, тестировщик сказал сделать эту йобу и для IE. А в этом блядском браузере есть баг (фича), что скроллы дико тормозят, поэтому при скролле йоба начинает трястись.В общем, я решил выйти из положения поставив диву position fixed, но тогда нижний контент начинает себя причудливо вести, подьезжать под йобу и даже див распорка с заданной высотой не помогает. Что делать?
Посоны, словил дикий тупняк на такой примитивной задачке. Нужна помощь, потому что я что-то совсем глупый.Есть две зелененькие (не активные) кнопочки. При надавливании на одну из них, она становится красненькой (активной). Если перестать надавливать - обратно становится зелененькой (не активной). А надо не так. Надо, чтобы:При надавливании на одну кнопку, она становилась красненькой (активной) и оставалась после отпускания. Дальше, если мы нажмем: - опять на ту же кнопку и отпустим - она становится зелененькой (не активной) - на другую кнопку - предыдущая становится зелененькой (не активной) в момент нажатия на другую. А эта другая становится красненькой (активной) и остается после отпусканияВот тут кнопочки выложил: http://jratva.com/buttons.html
>>981139нагнуть тестировщика за IE
>>981182То есть понял, типа эффект залипания нужен. Нажал на кнопочку - она залипла. Нажал на нее же - отлипла. Или на другую нажал - эта отлипла, а другая залипла.
>>981182Ну так и напиши в обработчике. Если нет класса эктив на нажимаемой - убираешь эктив с других, а на нажатую вешаешь. Если есть класс эктив, то просто убираешь с текущей.
>>981187Э... че?
>>981137(![]+[])[+!![]+(+!![])]+([][[]]+[])[+[]]+(![]+[])[+!![]+(+!![]+(+!![]))]+(!![]+[])[+!![]+(+!![]+(+!![]))]+(!![]+[])[+!![]]
>>981182Вчера вечером часа на 2 идиота включил. Только что проснулся и за 5 минут все сделал.Вот тут кнопочки выложил: http://jratva.com/buttons.html
>>981367Если при двух зелёных кнопках нажать правой кнопкой на одну из них, и с зажатой правой кнопкой увести курсор с кнопки (чтобы открылось меню, но не сразу, а при отпускании за пределами кнопки), а потом, при открытом меню повторить процедуру на другой кнопке (опять нажать правую кнопку и не отпуская увести курсор с кнопки), то они обе станут красными. Огнелис.
>>981367И тут же баг случайно обнаружил. Если надавить на кнопочку, сдвинуть мышку за пределы кнопки и отпустить - onmauseup не срабатывает и вся эта фигня начинает работать как попало.
>>981369Во-во. Надо onmouseover какой-нить городить и еще одним флажком проверять был ли вызван onmouseup
Чего оно не чинится? Если нажать на кнопку и отвести от нее зажатую мышку - онмаусовер срабатывать. Если же опять повторить эту же процедуру - срабатывает только если повторно на кнопку мышку навести. Вот тут кнопочки выложил: http://jratva.com/buttons.html
>>981373Зачем тебе этот onmouseup? Не лучше ли использовать onclick?
>>981375На уп и довн висят функции, которые исключительно только дизайн кнопки меняют. На клике уже висят функции для работы с приложением. Не хочу говнодизайн мешать с логикой.
>>981373>mouseovermouseoutслоуфикс
>>981373Че-т не получается.Посоны, а можно как-то координаты мышки захватить и не выпускать ее с кнопки, пока пользователь мышку не отожмет?
>>981384>координаты мышки захватитьЭто просто блджад эталонное говнокодерство. Лучше уж повесь две функции на онклик.
Это снова я по поводу загрузки данных для странички после php.Допустим php скрипт рисует табличку заполненную нулями. Чтобы данные в табличке обновились, нужен JS, да? Могу ли я на своем сервере выполнять этот JS код, чтобы получить данные?
Сап, джейсон стейтемы, есть вопрос - как сейчас модно и молодежно отдавать единый файл со стилями? Есть ли способ захуярить его прямо в джс, сбандленый вебпаком или все еще по-старинке отдают двумя отдельными запросами? Кто модный. кто в теме, можно с линками, чтобы почитать как стоит делать и почему. В ангельский могу.
>>981397Вот нашел аякс в коде http://ideone.com/NeVHOFПолная ссылка внутри аякс http://na-bns.ncsoft.com/ingame/bs/character/data/equipments/Но если перейти по ней, то получается fail. Мне кажется, что нужно передать еще и информацию "test", чтобы получить правильный ответ, поскольку на сайте на каждое значение - набор отдается разный. Помогите получить правильный ответ, если это возможно.
Сейчас сгорю наху. Явно что-то упускаю, но это просто какой-то бред.http://na-bns.ncsoft.com/ingame/bs/character/data/pointeffects.json выдает ответ прямо в браузер.А код с пикчи не работает. Мало того, чтоб запрос ничего не возвращает, так еще и вся страничка не отвечает - тесты не проходятся, даже тот который ПЕРЕД аяксом. Убираю аякс - все тесты работают. Что не так?
Посоны, писал мобильное приложение с использованием Angularа, более менее понравилось.Посмотрел вскольз туториал на реакт, показалось сложнее.Стоит перекатываться на реакт?
>>981421Вкатываться в реакт сложнее из-за того, что конструктор по сути, много стороннего придется выучить, но потом начинает нравиться поболее чем ангуляр ибо гибко, модно, молодежно. Я первые пару месяцев грезил ангуляром, но теперь полюбил реакт, пишу огромную приложуху, пока все ок.
>>981415Ты закрывающую круглую скобку забыл поставить для $.ajax
>>981444Точно, поставил. Все равно не работает.
>>981474Как можно быть таким мудаком, а? Иди повесься программирование - не твое.Перемести скобку с 19-й строки в конец 17-й
Если я хочу сравнить строку "false" и значение false оперетором ==, который по идее должен сначала сам привести типы, типа так "false" == false; что к чему он сначала приведет?Я вот не могу понять. Если он превратит "false" в булевое false, то должно быть false=false, а если false к строке, то должно выйти "false"="false". В любом случае я ожидаю результата true, но выдает false. Почему?
>>981481Щас бы за невнимательность называть мудаком. И правда, сдедал, первый и третий тест срабатывают, а вот внутрь самого аякса браузер не заглядывает. Там обязан же быть success, раз ссылка рабочая. Что теперь не так?
И еще, кто-нибудь скажет как так выходит?Если просто написать название переменной, в консоли выведет одно значение, а если написать её содержимое в a.l.e.r.t.() - совсем другое!
>>981485== не используй вообще
Посоны, есть два массива. array и f. Массив f хранит некоторые значения. Вот эти значения надо отсортировать, причем в том же порядке отсортировать и элементы массива array. Есть какая-нить функция в JS?
>>981499Очередной совет долбаеба. Если ты не можешь понять преобразования, то конечно == юзать не стоит, но иногда подобное преобразование может сделать код лучше и желательно использовать именно ==.
>>981497>League Of LegendsНе удивительно что ты идиот.Почему ты считаешь что изменяя переменные они будут изменять значение другой переменной которая уже БЫЛА назначена ДО этого?
>>981487Попробуй $.get И ещё у тебя по дурацки всё оформлено, неужели начальную фигурную скобку у function нельзя держать на одной строке с отступом в один пробел? Тебе следить за правильностью написания элементарно легче станет.
>>981497Ты поменял значения переменных. Allow были присвоено значение вычисленное по старым исходным данным, поэтому оно всегда false. В алерте ты вычисляешь всё заново.
>>981507А че ты злой такой? ТИМА РАКОВ не дает из Бронзы выйти, да?
>>981511Ага, понял! Спасибо!
>>981512Я вообще не играю
>>981500Бамп
>>981500.sort() не?
>>981542А как мне в сорт сразу два массива засунуть?
>>981509Попробовал, результат тот же, то есть никакой - браузер не залазит туда. Какие еще могут быть варианты?>у тебя по дурацки всё оформленоНормально оформлено. Половина пишет так, а половина по-другому.
>>981549Нахрена два засовывать? Пишешь функцию сортировки funstion s(hui, pizda) { return hui >= pizda; } , потом вызываешь на обоих массивах метод sort(s).
>>981563А вопрос прочитать прежде чем отвечать - не?
>>981567> Вот эти значения надо отсортировать, причем в том же порядке отсортировать и элементы массива arrayИ в чём же я не прав?
>>981570В порядке - не в том смысле, что по возрастанию/убыванию, а в том смысле, что массив f содержит порядок сортировки массива array. Блять, как тебе объяснить, чтобы ты понял. Вот как вот тут https://jsfiddle.net/cwah9bfL/ , только но не так говнокодисто.
>>981573элементы в массиве array, которые соответствуют (по индексу) наибольшим значениям в массиве f - уходят в начало. Наименьшим значениям - в конец.
>>981573>только но не так говнокодисто.Ладно, один хер и так работает.Посоны, а есть вот у меня массив array. Как оттуда извлечь случайный элемент, так чтобы в array он стерся (все элементы после него сдвинулись на одну позицию, если не с конца извлекли)???Типо как array.pop(), только со случайной позиции. Есть какая-нить функция в JS?
>>981629Нагуглил.
>>981629Отличненько. По одному вынимаем их из массива и обрабатываем.
Помогите, пожалуйста
>>981559>Нормально оформленоДЕБИЛ БЛЯТЬ СУКА ЕБАНЫЙ.
>>981643Держи, братишка
Всем привет, наткнулся тут по работе на одну задачку, никак решить не могу. Короче, есть массив с данными, который через foreach выводится на морду. Забинжено всё через кнокаут. Чтоб было понятнее, кусок этого кода выглядит вот так: <tbody data-bind="foreach: Data"> <tr> <td><input type="checkbox" data-bind="click: тут нужно вызвать функцию, checked: IsSelected"></td> <td><span data-bind="text: FirstName"></span></td> Тут ещё куча всякого дерьма... </tr></tbody>Короче, к данному хтмл фалу также подключенн скрипт откуда берется массив Data. Так же там есть функция для примера functionName. И мне её надо вызвать при клике на чекбокс. Но если я просто прописываю в data-bind в виде data-bind="click: functionName", то кнокаут её ищет не в скрипте, а в массиве Data, и соответственно не находит.Внимание вопрос. Как сделать так, чтоб При клике на чекбок шло обращение к функции в скрипте?
Так-с, что-за хуйня происходит в мире JS? Какие-то ES6, ECMAScript, ECMA-262, 6th Edition, ох бля, мне уже плохо. И зачем об этом везде пишут? Анон, поясни по-хардкору, или дай какую-то статью на эту тему.
>>981703Думаю тебе надо забиндить другой контекст своей функции
>>981706Каким образом? Я просто в джаваскрипте и кнокауте не очень шарю, основная сцпециализация c#.
>>981708func = func.bind(context, args (опционально))то есть идет возврат функции, только в другом контексте и можно передать аргументы
>>981712контекст, это текущий объект, на котором вызывается функция
>>981712Это понятно. Просто если я вызываю функцию на ивенте клик, то кнокаут всё равно будет ссылатся на массив с данными, а не скрипт. Вопрос в том как этот самый контекст вытащить
Нормального синхронного чтения строк из stdin нету что ли? В гугле всякая хуета ы eof и only works on Windows.
>>981706>>981712Короче, вот чтоб было нагляднее. При таком вызове он вылетает ошибка, мол функция не найдена. Как правильно прописать контекст чтоб всё заработало?
>>981718Хз, тут видимо в нокауте дело, а я его не знаю, может просто в скрипте достать элемент по атрибуту document.querySelector([data-foo="bar"]);и навесить на него обработчик в скрипте.
>>981721Но мне нужно вызывать функцию только по клику на элемент, иначе смысла нет
>>981723Так и будет работать только по кликуhttps://pastebin.com/6LgvXAiX
>>981708В нокауте - хз. Я с ним не работал.Могу разве что дать линк на документацию лолhttp://knockoutjs.com/documentation/binding-context.html
>>981725Только одна проблема. Мне одновременно нужно слушать каждую строчку. А количество строчек в таблице может быть разным. При этом, при клике на определённую строчку, мне нужно не только вызвать нужную функцию, но и передать в эту функцию данные из строчки на которую я кликнул.>>981726Её я уже вдоль и поперёк прочитал, не очень помогло.
>>981728Тогда вешай обработчик на всю таблицу, а обрабатывать уже можешь через event.target (тот элемент на котором сработало событие) (event - первый параметр в функцию обработчик передается).
>>981728Вот это разве не оно?$parentContextThis refers to the binding context object at the parent level. This is different from $parent, which refers to the data (not binding context) at the parent level. This is useful, for example, if you need to access the index value of an outer foreach item from an inner context (usage: $parentContext.$index). This is undefined in the root context.
>>981737О, попробую. Отпишусь как результат будет.
>>981736Но это конечно костыли, если ты делаешь через фреймворк
>>981739Ну и куда ты съебал?
>>981559Бамп
>>981750У меня какие-то проблемы с подключением к рабочему компу, не мог проверить.
>>981750Короче, спасибо за помощь, сработала конструкция вида: $root.functionName
Кем вообще работают жс-макаки, если отбросить вёрстку и прочий фронт энд. Не хотет до конца ней своих верстать говностранички.
>>981899фронтенд это не сколько верстка сколько написании логики. еще есть сервер-сайд (node.js), мобильные приложения (react native) десктоп (electron).
>>981911И как много серверных и мобильных приложений написано на жабьем скрипе?
>>981913Щас самый популярный стек технологий это angular/react/etc и node.js. Мобильные, десктопные приложения эти те же SPA но в контейнере. Щас дохуя таких клепают ибо один код на все платформы.
>>981913Из серверных - https://www.quora.com/What-companies-are-using-Node-js-in-productionПо react-native https://facebook.github.io/react-native/showcase.html
Объясните ньюфагу как организовывать последовательные действия при ассинхронности (на промиссах)? Коллбеками?Пытаюсь для тренировки разобраться с API pixiv'а (сайт с анимушными иллюстрациями). Т.к. в HTTP/ajax я пока не разобрался нормально - нашел библиотеку-обертку на промисах.Вот я хочу разделить задачу на несколько функций. Первая получает логин и пароль, возвращает залогиненный объект API (ну или не возвращает, а вызывает с ним коллбек). Вторая получает залогиненный объект api, и возвращает API и ID иллюстраций из закладок.Третья получает залогиненный объект api, ID иллюстраций и кочает их.Они все асинхронные, т.к. промиссы внутри. Если использовать коллбеки то как я понимаю функции будут примерно будут выглядеть:function apifunc(api, arg, callback) {api.somepromisecall(arg).then( (res) => callback(api, res) )}А последовательный вызов как-то так:func1(name, pass, (api) => { func2(api, (api, ids) => func3(api, ids)) } )
>>982025>func1(name, pass, api => { func2(api, (api, ids) => { func3(api, ids) } ) } )Пофиксил немного.
>>982025>api.somepromisecall(arg).then( (res) => { callback(api, res) } )И тут ещё забыл фигурные скобки.
>>982028https://habrahabr.ru/company/mailru/blog/269465/
Привет девчёнки. Короче такая тема, я хелоувордщик со стажем, ебашу хелоуворды уже пару лет и ни одного нормального проекта я не сделал. Учил уже наверно все языки кроме Хаскеля. Я все таки решил сдеалать хоть что то и вот какая у меня идея. Я сейчас смотрю уроки JavaScript30 и я увидел такую удивительную вещь как fetch. И думаю сдалать сайтик который может подгружать инфу с сервера и выводить и обновлять контент на сайте. Проблема в том что я долбоеб который не может довести дело до конца что я хуй его знает где можно брать инфу, где брать такие базы данных которые можно использовать с помощью fetch. Или просто дайте идею что сдеалать что бы не стыдно было показать на собеседовании. Кидайте свои идеи , братья.
А вы в курсе, что /b на react сделано, у меня плагин в хроме, который я недавно поставил сдетектил. Непонятно тогда, почему на других досках его нет.
Дано:2.2 грамма фенаОпыт написания прог на C\C++ до 700 строкБазовый/средний уровень знания JS (+ NodeJS по learnyounode и некоторому количеству практики)Весьма недурное знание английскогоПланы написать приложение с вот этим вот всем:Frontend1) React/Redux2) Service (а лучше Shared) Workers3) WebSocketBackend1) VanillaJS на ноде2) аутентификация3) вменяемый APIReact изучал по Codecademy (то есть не оче с практикой), плюс уже манов достаточно раскурил.VanillaJS на ноде использовал и уже успешно примитивный статический сервер написал.На этом собственно всё, о workers, webpack и прочем знания лишь теоретические.Вопрос: не охуею ли я?
>>982140неправда
>>982144ванила на ноде такое себе. лучше express. хотя если тебе только сокеты нужны то хватит socket.io.
>>982146Ок, но на остальных досках у меня значек плагина не подсвечивался и не было доступа в меню плагина
>>982025Понял что Промиссы и так являются "обёрткой" для колбеков и сделал на них. Такое ощущение что я на Хачкеле пишу. Если кто хочет подсказать что я делаю не так (в т.ч. по стилю кода):https://pastebin.com/QM5qUnwvНо в принципе всё работает.>>982113Спасибо, почитаю.
>>982159выглядит ок
>>982159А что значит function getFollowingUsers( {pixiv, userID} ), всмысле, что ждет функция на вход, это же не объект? Это что-то из es6 синтаксиса?
>>982164Наверное из es6, в последнем nodeJS работает.Что-то аналогичное:function getFollowingUsers( obj ) {const pixiv = obj.pixiv const userID = obj.userID/.../}
>>982166Понял, разбор объекта по компонентам, неплохо, js-то прогрессирует
>>982169>js-то прогрессируетЯ конечно ньюфаг, но у меня впечатление что костыли на костылях. Тот же es6 далеко не весь браузеры поддерживают.Я заебался настраивать webpack и прочие перделки.
>>982171>Тот же es6 далеко не весь браузеры поддерживают.Babel жиА перделки да, они хипстеры они заполонили
>>981132 (OP)В чем прикол программистких-тян-носков?
Поясните, зачем нужны эти ваши реакты-хуякты, если тоже самое можно сделать на каком нибудь С#/Жава/пхп?
NPM NODE YARN BABEL BABEL-POLYFILL GULP WEBPACK JEST SINON REACT REDUX MATERIAL-UI JSDOM ENZYME WHATWG-FETCH PROP-TYPES NORMALIZR WEBPACK-DEV-SERVERУ меня все.
>>982216потому что твое>С#/Жава/пхпустарело
Насоветуйте что почитать по бекенду (как сервер на экспрессе хотя бы на локалхосте запилить и как связывать его с фронтендом на реакте) для ньюфага, который считал чёрной магией сисадминов всякие СЕТИ, ПРОТОКОЛЫ, HTTP.
Посоны, а как мне сгенерировать два рандомных числа от 0 до 99, но так, чтобы они гарантированно отличались друг от друга?Первое числоvar random1 = Math.floor(Math.random() умножить на (100));Второе можно в цикле сгенерировать?do{var random2 = Math.floor(Math.random() умножить на (100));}while(random1!=random2)Но это ж пиздец говнокод. Можно как-то попроще сделать?
>>982239>!===быстрофикс
>>982216Чтобы страничка не перезагружалась. Это сейчас главное в вебе.
>>982227Почему устарело то?>>982246И ради этого использовать отдельный фреймворк с хуевой тучей библиотек?
>>982025callback -> deferred -> promise -> async/await
>>982251Это называется SPA (single page application). Сейчас все десктопные приложения мигрируют в браузер, поэтому да, нужен фреймворк, ибо изначально веб не был предназначен для такого. А огромное обилие библиотек это следствие принципа "каждая тулза должна делать что-то одно".
>>982239var random1 = Math.floor(Math.random() умножить на (100));var random2= random1%99 + 1Блябуду точно не совпадут.
>>982262Это даже не петросянство, а что-то уровня пикрелейтед
>>982239http://stackoverflow.com/questions/11935175/sampling-a-random-subset-from-an-array
>>982239Что тебе в твоём варианте не нравится, блять?>>982268Если ему рандом из [1..10000], то он сначала весь массив будет в память ложить, да?
>>982239Напримерconst getRandNum = (prevNum = -1) => { const num = Math.floor(Math.random() * 100); return prevNum !== num ? num : getRandNum(num);}const random1 = getRandNum();const random2 = getRandNum(random1);
>>982311Обосрался с разметкойhttps://jsfiddle.net/q7ekfd8d/
>>982239>Но это ж пиздец говнокод.Почему?
Посоны, а я опять по поводу локалстореджа. Че-т он мне вообще не нравится. Можно как-то сделать вот как на пикче? Чтобы нажимаешь обзор, выбираешь txt-файл и весь массив в него сохраняешь (или из него загружаешь)
>>982329Можно, гугли HTML5 FileSystem
>>982332>HTML5 FileSystem>На момент подготовки этой статьи FileSystem API был реализован только в браузере Google Chrome.
>>982239Самый простой и быстрый вариант
То чувство, когда видишь JS-треды уже давно, но не решаешься перекатиться в чистый фронтенд с андроида. Ибо джява всё же стабильнее, 40 летний фронтендер - это 100% неликвид. Да и не нужны чистые фронтендеры, в основном фуллстек
>>982370Поясни за >фуллстек
>>982370а что сложного в том, чтобы быть фуллстаком? Кстати, верстка - не так уж и легко, нужно быть внимательным к мелочам, пиксель влево, пиксель вправо, проверять на тысячи экранных разрешений, делать резиново, оптимизировать, выполнять больные фантазии дизайнеров.
Посоветуйте толковую книгу по js, чтоб со всеми тонкостями.
>>982387YDKJS
>>982374https://habrahabr.ru/company/Voximplant/blog/275229/
>>982391чушь, под фуллстаком сейчас бекенд плюс фронтенд подразумевают. Конечно, супер хорошо ты будешь знать только что-то одно, но второе тоже надо знать.
Это снова я, проблему так и не смог решить.Есть ссылка, которая отдает json http://na-bns.ncsoft.com/ingame/bs/character/data/pointeffects.json и я пытаюсь вытащить эту инфу способами на пикчах. По какой-то причине, браузер вообще не заходит в эту конструкцию ни с $.ajax, ни с $.get. Код здесь http://ideone.com/lgCacUХАЛП
Посоны, CSS кто-то шарит? Вот у меня кнопочки дивом оформлены. Если на кнопочке сделать даблклик - выделяется текст и это не очень круто. Как вот эту фигню убрать?
>>982411Ага, нашел:onselectstart="return false"
>>982411div::selection { background: transparent; }
>>982411не делать кнопочки дивом
>>982420А чем их делать?
>>982420В этих кнопочках вся суть, дизайнерский выебос, сидел полдня пердохался, чтобы нормально работало. >>981182Если надавить на кнопочку - она становится зажатой (windows 98 -стайл) и в центре экрана выползает (дисплей:блок) div с настройками и кнопочкой ok. После всех настроек нажимаем ок - div обратно заползает (дислпей:нон) и кнопочка отжимается.
Как же приятно написав много кода в проекте, выполнив таски, с чувством выполненного долга пойти в туалет посрать.
>>982370>Да и не нужны чистые фронтендеры, в основном фуллстекНужны.
>>982427уродский дизайн
Чем отличается жс от экма скрипт?
Хороший тред, помогает ньюфагам нет
>>982490Не нет, а да. Мне вот выше помогли.
>>982502А мне не отвечают уже несколько дней, хотя я и бампаю
>>982506Ты неправильно бампаешь, давай свой хуец :3
>>982470Чому?
Анон, доставь пикчу с типажами программистов по фреймворкам.
Ебал вас всех в рот, сам решил проблему. Так сложно было один символ подсказать, обмудки?
>>982610Сосируй, лалка :3
Антощи, почему не выпадает случайное число из массива? :c
>>982638А у тебя лицензионный генератор рандома?
>>982638ВыпадаетТы его сохранил в number
>>982638Ты серьёзно сейчас?
>>982638Выпадает. Тебе везёт на тройку.
>>982656Не бомби, просто перевод оказался несколько странным и меня запутал. Ну да ладно.
>>982659У моргана, всмысли.
Я тут ноду изучаю по видосикам. Вы что правда так хтмл добавляете??
https://learn.javascript.ru/exception#проброс-исключения Объясните дауну. throw создаёт объект ошибки который передаётся в catch(e), (т.е "e" это и есть этот самый объект возвращенный throw) но что происходит когда мы в блоке catch создаём throw я так и не понял. Этот объект автоматически сохраняется как объект следующего try...catch? Чет я логики в этом не увидел, нахуя внешнему try...catch объект ошибки из какого-то другого блока кода? Или я всё таки неправильно понял как работает это фигня?
>>982704Throw не создает, а бросает. Catch - ловит. Throw в catch делает тоже самое: ты поймал исключение, возможно, как-то обработал его (логирование, например), а затем бросил его дальше.
>>982707Чет "бросить" принципиально отличается от того что я написал? Т.е в принципе всё правильно, throw просто запоминает ошибку из catch(e) и бросает её в следующий try...catch ? но, >Чет я логики в этом не увидел, нахуя внешнему try...catch объект ошибки из какого-то другого блока кода? Или я всё таки неправильно понял как работает это фигня?
>>982398Ты что консоль то пишет смотрел хоть? У тебя скорее всего No 'Access-Control-Allow-Origin' header is present on the requested resource. выводится, вытащить ты его в принципе на фронте не сможешь. Ищи другой источник для данных, либо с локалхоста что-нибудь запрашивай.
Как с помощью только JS (без всяких нод, джквери и т.п.) получить список файлов на компе? Без кнопок "выбрать файл" и прочего.Вот есть пусть к папке (c:\\temp, например) и надо вывести список всех файлов. Ещё лучше найти только изображения в указанной папке.
>>982746Из бровузера? Никак.
>>982680А что тут такого?
>>982751не из браузера, в коде фоном подгрузить надо все картинки из папки
>>982712Ошибка бросается только на более высокий уровень. В том случае что ты написал, второй блок тру-кетча никогда не словит первую ошибку, он иожит словить только ту ошибку которую модет выкинуть функция readData(). А в первом блоке, после проброса ошибки в катче, она выйдет на уровень выше, в данном случае скорее всего просто выпадет в консоль.
>>982740>вытащить ты его в принципе на фронте не сможешь. Ищи другой источник для данных, либо с локалхоста что-нибудь запрашивай.Да-да, вот только я уже вытащил всё. "Не сможешь", лол. Там нужно было один символ поменять в коде, и любой из присутствущих, кто делал ajax запросы должен это знать, но не знал НИКТО. Тут либо специально не хотели подсказывать, либо просто никто в треде не умеет в элементарный ajax, что сполна характеризует местных советчиков.
Сап ЖаваСкриптач, хочу вкатится к вам. Есть совсем мелкие знания по питону и Си, знаю что они тут в большинстве своем нахуй не нужны.Вопрос. Мне сразу начинать читать литературу с гитхаб-фака или сначала попытаться что-то еще изучить, дабы все шло лучше? Хтмл? CSS? Что нужно чтоб эффективно вкатится в ваше братство хуевой оптимизации?
>>982768Я вот не умею в ajax и не понял какой символ там нужно было поменятьТак какой?
>>982772dataType: "json" -> dataType: "jsonp"
>>982760Тогда какой смысл было делать такой пример и указывать на то что ошибка выпадает в соседний блок?
>>982760> В том случае что ты написал, второй блок тру-кетча никогда не словит первую ошибку>он можит словить только ту ошибку которую модет выкинуть функция readData()Блять ты определись уже, словит он её или не словит, там только функция и внешний код, больше ничего нет.
>>982776здешние бояре jquery не используют, да и ископаемый способ (это я про jsonp) тоже могут не знать
>>982347Ой не рассказывай. Проблемы будут только в ие9 для подгрузки файлов аяксом нужны скрытые iframe и анальная боль, но сомневаюсь что он тебе нужен.
>>982785>ископаемый способНу так почему мне не подсказали современный рабочий способ? Надо полагать, что ты такой знаешь, если считаешь это старым способом.
>>982753>не из браузераА откуда?Все будет зависеть от того, на чем ты будешь крутить свое говно. В твоем рантайме может быть библиотека для работы с файлами, а может не быть. Но в любом случае, даже если тебе не придется подключать никаких библиотек, это будет что-то стороннее как и джкуери или ноде.https://docs.nativescript.org/cookbook/file-system
>>982789Я могу попробовать тебе объяснить. Но только для начала ты должен смириться с мыслью, что ты не прав, а тот анон выше (который говорил про невозможность) как раз таки прав, если речь идет об ajax (XMLHttpRequest)Смотри, ты не можешь вытащить данные из-за cors. Так работает ajax. Заголовки в твоем случае должны правильно быть настроены на сервере, с фронта тебе не исправить это. Все что ты можешь, это поставить no-cors mode и получить ответ у которого не вытянуть телоНо, на том серваке реализован древний костыль, которым можно обойти проблемму. И называется этот метод jsonp.Если примитивно, то его суть сводится к тому, что мы обращаемся не по нашему адресу, а по адресу с параментром (обычно это ?jsonp=name). На месте name - имя функции, в которую сервер подставит свои данные. Далее мы создаем скрипт в body, с этой самой функцией, где будут данные обрабатываться.Т.е. если мы обращаемся по http://na-bns.ncsoft.com/ingame/bs/character/data/pointeffects.json?jsonp=catsто нам нужна функция cats.Собственное jquery это и делает, когда ты ставишь jsonp и передаешь callbackА вот так это можно примитивно сделать ручкамиhttp://jsbin.com/zaboyowude/edit?js,consoleВот собственно и все. Ты не использовал ajax, ты просто обошел ограничение другим методом получения данных.Когда же сервера нормально настроены и отдают нужные заголовки, то проблем не возникают и люди юзают нативный fetch или надстройки. Это и является современным подходом.У меня сегодня хорошее настроение, поэтому и решил написать.А тебе надо меньше вешать ярлыки на анонов в треде и судить о их знаниях/навыках. К тому же все могут ошибаться/забывать/не знать чего-либо.В том числе и я :)Такие вот дела
>>982752пиздец, а где отдельные хтмл странички?
>>981373Вот тебе чертов извращенец. И да, сделай стили отдельно для нажатых и не нажатых кнопокhttps://jsfiddle.net/gqzbx87s/
>>982680Кто вы блядь? К кому ты обращаешься?
>>982803Хорошо, благодарю. Раз у тебя хорошее настроение, то подскажи, как правильнее всего будет получить данные из огромного json на 170КБ (тот маленький был для примера) http://na-bns.ncsoft.com/ingame/bs/character/data/equipments.json?c=VirusМне не важно, будет ли это синхронный или асинхронный запрос, то есть пофигу, аякс или нет. Мне главное на страничке ввести в поле имя ?c=name и получить объект, на который я смогу ссылаться, как в json (например response.equipments.hand.detail.item.additional_ability_html).
>>982680Че эт оза стрингбилдер?))) Берешь и просто конкатенируешь плюсиком.
sb.appendLine("</html>"); try { sb.build(function(err, result){ try{ resp.writeHead(200, {"Content-type":"text/html"}); resp.write(result); resp.end(); } catch(e){ console.log(e); } console.log(err); }); } catch(e){ console.log(e); }Делаю по видео уроку, почему этот кусок кода кидает ошибку? https://www.youtube.com/watch?v=nuw48-u3Yrg
https://jsbin.com/pibaxutehe/edit?js,console,output - почему str становится undefined при вызове функции?
Так ангуляры-реакты - это получается тупо шаблонизаторы для нодыжс?
>>982857Короч, не знаю на сколько это красивое решение, но в пхп все решилось в две строки без каких-либо костылей.
>>982888Короче я просто не пойму как в зависимости от ошибки можно вызвать рекурсивно эту же функцию но с другими параметрами. Просто если назначать переменную в начале функции, то потом она опять переопределяется на ту же самую и я чет додуматься не могу как сделать правильно.
>>982892Отклеилось
>>982771бамп
>>982888>>982893Дополнение к этому. Вот например одноразовую функцию я написал (пик). Но если и второй раз вводится неправильное значение, то выводится просто undefined, а хотелось бы чтобы функция опять вызывалась.
>>982904var на let замени
>>982926мне бы суть объяснить, а не просто сказать что сделать.
https://learn.javascript.ru/getters-setters#геттер-и-сеттер-для-водыНе понял как автор так просто использует throw new Error() в условии, без try...catch? В теме по try...catch это использовался только внутри данной конструкции, а как работает вне её - не рассказывалось. Куда уходит этот объект и почему вообще выходит уведомление об ошибки если throw new Error() по словам автора просто бросает объект ошибки в catch, но по сути не показывает никакое окно уведомления.
>>982186бумп вопросу
Привет, всем. Я в js новичек, написал mvc сапера и начал разбираться с модулями, поставил webpack, прописал импорты/экспорты, все работает...Есть ли отличие модулей CommonJS от NodeJS? Или это одно и тоже? Экспорт по умолчанию module.exports = MyClass это NodeJS синтаксис? Нужно ли разбираться с RequireJS в 2017?
>>982963Почитай про отличия var от let/const
>>983045Отличия я знаю, при чем здесь это? Мне нужно чтобы кто-то объяснил почему именно мой вариант не работает.
>>983092Значит не знаешь.И вообще - кинь код не пастебине, я с твоего скрина должен переписывать чтобы у себя затестить?
>>983093Да.
Какой же обоссаный тред, просто пиздец
Как советовали выше, читаю книжечку JS For Kids. И Сайт https://learn.javascript.ru заодно, там чуть детальней некоторые вещи расписаны. Вот я кое-чего не понял, помогите плиз.Есть цикл for типа такого:for (начало; условие; шаг) { // ... тело цикла ...}Позже сказано, что можно пропустить любую часть for. Зачем тогда "начало" нужно? В смысле, и без него же цикл начнется? Можете своими словами объяснить суть вот этих начало-условие-шаг? Как вы этим на самом деле пользуетесь?
>>983106Вопрос вдогонку:На сайте последняя часть for перед телом называется "шаг", а в книге - инкрементом. Всегда ли шаг = инкремент? Или это можеьт быть что-то еще?
>>983112Может быть и дикримент. for (var i = 10; i > 5; i--) { alert(i); }Так что шаг правильней.>>983106В начале ты объявляешь переменную, над которой орудуешь. Можешь не объявлять а взять уже готовую, например. Алсо for не создает области видимости, так что если у тебя первый цикл с i, то второй обычно делают с j и дальше по алфавиту
>>983131Т.е. кроме ++ или -- там ничего другого быть не может? Например, (i * j)
>>983131>не создает области видимостиЯ еще нуб и не понял вот этого. Переменная, созданная внутри первого for не видна для второго и нам придется объявлять новую переменную в другом цикле или, наоборот, еще как видна, но мы сознательно объявим/возьмем другую переменную что бы избежать путаницы и глюков?
Посоны! А как в onmouseover=function(); передать координаты мышки???
>>983170Нагуглил onmouseover=function(event.pageX, event.pageY);Главное - вначале спросить. А потом уже гуглить можно.
Есть пхпшники, перекатившиеся в ноду? Вам не больно?
>>983139второе. чего тебе не понятно, сформулируй вопрос
>>983213Суть области видимости не понятна. Хотя я только что прочел статью в википедии и, если правильно понял, то имеем вот что:Внутри определенной области видимости мы привязываем некоторое имя к некоторой информации, т.е. объявляем переменную. Внутри этой конкретной области видимости по этому конкретному имени будем находить именно эту информацию.Но! ВНЕ этой области (т.е. в какой-нибудь другой) за этим самым именем ничего не закреплено, т.е. в области №2 это имя ничего не означает. И мы можем этим же именем из области №1 обозначить другую информацию.Поскольку for не создает область №2, имя переменной i в первом цикле может быть использовано по отношению с этой самой пеерменной в следующем цикле, и что бы эти циклы случайно не изменили значения друг друга, во второй цикл мы введем переменную с другим именем. Так?
>>983194Нода пхпшникам нахуй не нужна. Человек может говорить на разных языках - на русском, английском, немецком. Но думает он на одном языке. Так же и с погромированием. Те, кто вкатились в web через PHP - для них JS только вспомогательный инструмент. Те, кто через JS вкатился - не могут въехать до конца в PHP и придумывают себе всякие ноды.
>>983244Найс ярлычки
Айоу Сука. Рад приветствовать вас, фронтендеры. Обращаюсь я к вам за помощью. Ибо я еблан и прогуливал школу, а теперь требуются некоторые знания школьного курса алгебры/геометрии для решения одной тривиальной задачи.Собсна проблема такова. Имеется окружность. Имеются две дуги, одна из них вписана в окружность, вторая описана вокруг нее. (см. пикрилейтед). Дуги нарисованы на свг. Задача в том что бы пропорционально сокращать длину обоих дуг таким образом что бы они не пересекали окружность.Проблема в том что я не знаю какое соотношение deltaX к deltaY должно быть что бы выполнить задачу и пропорции не нарушились.
>>983233Именно. Причем переменная i из первого цикла очень часто бывает нужна во втором, но уже не в той роли, что в первом цикле, например в алгоритмах обхода двумерных массивов
Поясните за each из Cheerio.Пример из доков:var cheerio = require('cheerio'),$ = cheerio.load(SOME_HTML),fruits = [];$('li').each(function(i, elem) { fruits = $(this).text();});fruits.join(', ');Что в this находиться? Вроде бы elem === this, но нахуя?
Сама задача и решение Кантора - https://learn.javascript.ru/getters-setters#создать-сеттер-для-onreadyhttps://jsbin.com/naxevubapo/edit?js,console,output - мое решение.Не понял зачем нужно оборачивать функцию внутри setTimeout в анонимную? Почему нельзя изменить функцию onReady без этого? Ведь пока идёт таймер функция ещё не запущена и в этот момент (по логике) её можно изменить.
>>983315Алсо, в другом случае уже this - пустой объект. Хуй знает чем конкретно контекст различается.
Как заставить блядский vs code ставить скобки после имени функции? Заебался вручную скобочки писать во всех функциях.
>>983262если ты делаешь то, о чем я подумал индикатор загрузки - то это можно сделать проще.Например тебе нахуй не нужны 2 дуги, просто сделай круг и под ним дугу, визуально будет тоже самое что и твой пик. Дальше манипулируй этой подложкой. Другой вопрос если ты хочешь их пустить с разной скоростью. Алсо это не алгебра, а геометрия за 7 класс.
>>983340>>983315Просто так, кому то так удобнее. А во втором случае используется стрелочная функция. В ней нет своего this, в примере используется this родителя.
>>983340>>983315>>983387Ну и ещё, если вдруг внутри где-то ещё будет использоваться function у которого свой this, а тебе вдруг надо будет воспользоваться элементом, то тут без elem уже не обойтись.
>>983170Ты не тот чувак с кнопками что выше?
>>983458Тот. Интерфейс разрабатываю.
В ExtJS шарит кто? Как в treestore сделать фильтр? Чтобы как в простом сторе работало.
>>9835584.2 версия
Я так понял, присвоить переменной массив иил объект можно, а цикл - нельзя? Не вижу в гугле ничего на эту тему. Вчера ошибку консоль показала, когда я так пытался сделать. Может, что-то дргугое было неправильно.
>>982987Бамп.
>>983595Должно выбрасывать в JavaScript Console в браузере.В консоль, в общем, она там где-то есть. В браузере.
>>983596да я пытаюсь принцип понять, кантор объяснял что эта херня только создает объект ошибки, но почему происходит сама передача этой ошибки
>>982025async/await
>>983612Ну или корутины.
>>983581Естественно нельзя. Если нужно инкапсулировать в переменной какую-то имплементацию используются функции.
>>983615>имплементациЯсненько. Еще не дошел до функций.
>>983626Гринтекст случайно получился, он ничего не означает.
Вот что сказано в книге:"As you might imagine, you don’t always have to start the looping variable at 0 and increment it by 1. For example, here’s a way to print all the powers of 2 below the number 10,000:for (var x = 2; x < 10000; x = x 2) { console.log(x); }We set x to 2 and increment the value of x using x = x 2;, which will double the value of x each time the loop runs. The result gets big very quickly, as you can see:2 4 8 16 32 64 128 256 512 1024 2048 4096 8192And voilà! This short for loop prints out all the powers of 2 below 10,000."Т.е. инкремент - это не только символ ++ и его действие (увеличение на 1), а любое действие, которое ведет к увеличению какой-либо переменной? Т.е. это инкремент - var watermelon = 5; watermelon++; но вот это watermelon *= 3; тоже инкремент?
Посоны, а что произойдет, если в локалсторедж попытаться впихнуть чуть больше, чем туда влазиет? Вот есть у меня 5 массивов по мегабайту, которые влазиют. И есть шестой, который до конца не влазиет, но очень хочется туда запихнуть. Ошибку выдаст? Поместится частично? Или что-то из старого затрет?
Я чувствую себя дебилом. В книге чувак дает задачки, и многие я хоть убей не знаю как решить. Потом смотрю в ответы и сразу все становится понятно и логично, я полностью понимаю что он делает. Но вот сам решить не могу. У вас такое бывает?
>>983733Да, раньше такое было.Просто со временем моск привыкает думать "как программа" и все получается.
>>983703Откроется черная дыра и все распидорасит нахуй.Вот, ты попробуй так сделать и посмотри что случится.
>>983640Да, сивол это просто символ.i++, ++i, или i += 1 - это просто операторы языка предоставляющие синтаксический сахарок, чтобы не писать i = i + 1;
>>983739>Uncaught DOMException: Failed to set the 'f5.arr' property on 'Storage': Setting the value of 'f5.arr' exceeded the quota.
>>983757Все, теперь знаешь. Видишь как просто7
>>983640Если бы ты знал английский, то одно слово инкремент тебе избавило тебя от таких размышлений.
>>983762От n=0 до n=130 влазиет. 131 уже не пихается. Думаю, мне хватит.
>>983765Я знаю английский, придурок. Сильно палишься в треде.
https://learn.javascript.ru/functional-inheritance#переопределение-методов - Видимо, я где-то что-то недопонял и сейчас возникла проблема. Почему нельзя использовать parentEnable() без введения var self = true;Вот тут:var parentEnable = this.enable; // (1)this.enable = function() { // (2)parentEnable(); // (3)this.run(); // (4)}Ну, то есть, я уже протестил и понял, что так не получится, но хотелось бы понять, что именно будет передаваться в качестве контекста this?
Делаю тестовое задание на вакансию ангуляр-макаки. Сам реактобоярин, поэтому приложение написал с применением redux, иначе не умею. Сделайте код ревью чтоль.Код:https://github.com/vlad-elagin/test_devПревью:https://vlad-elagin.github.io/test_prod/Есть ещё день на допиливание, намечены пара косметических фиксов и первая попытка автоматизированного тестирования в моей карьере.
Объясните быдлану, это сама суть множества, что нельзя получить значение по индексу? https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/SetКакое тогда ёобу мне использовать, чтобы хранить уникальные значения/получать/удалять числа с помощью встроенных методов. Не хочу копаться в массиве и splice юзать каждый раз.
>>983939Потому что в результате присвоения ты создаешь новый объект, а parentEnable хранит ссылку на старый.
>>983965Как подбирать цвета, чтобы было красиииво?
>>984110Ты кокойто странній. Можешь использовать обічніе обїекті литералі. Можешь использовать Map.
>>984124О чем ты? Сначала CoffeeMachine() запускается через конструктор, потом Machine() отдаёт ей свои методы, далее (уже имея методы) this.enable имеет this CoffeeMachine(). Никакого СТАРОГО this там нет.
>>984134Мне макет выслали. А вообще -https://color.adobe.com/explore/?filter=most-used
>>984136Сырник?
>>984183Лол, я под него мимикрирую.>>984179А вот это тема! Можно теперь в резюме добавлять навыки дизайна.
>>983965Бамп просьбе.
Привет, подскажите по задаче сапер javascript.Как сделать:>>https://github.com/enotocode/minesweeper.mvc/blob/master/app/BrowserView.js>>Тут у тебя жестко прописаны id и селекторы элементов, и мы не можем поместить на 1 странице несколько BrowserView (привязанные к одной или разным моделям), жаль. Ну и ссылка на document жестко прописана.Мне видятся два варианта. Как сделать лучше, есть ли другие решения?1. генерировать уникальный случайный айди при создании экземпляра класса BrowserView, он будет добавляться к id всех сгенерированных dom-объектов, чтобы иметь доступ к ним через getElementById.2. хранить сгенерированные элементы внутри экземпляра класса и изменять их свойство innerHTML.
Как можно без метода reverse() поменять порядок свойств массива на обратный? Чет никак не могу алгоритм придумать.
>>984293let newArray = [];for (let i = oldArray.length; i >=0; i--) { newArray.push(olsArray);}Не?
Посоны, че это за ёбаная хуита нахуй?Есть у меня массив temp, скажем, в котором я храню некоторые данные. Есть у меня также массив p на 5 ячеек, в которые я хочу сохранять массив temp после обработки функцией vrotebal.То есть, при вызове функции vrotebal:в p4 записываю p3в p3 записываю p2в p2 записываю p1в p1 записываю p0А в p0 пишу обработанный temp.То есть должно получиться так, что в каждом p разные предыдущие значения temp. На первом скрине код. А вот на втором скрине то, что эта функция (vrotebal) делает. Что это за ёбаная хуита нахуй?
Причем смотри, если мы перед тем, как в p записывать temp, сделаем join - функция работает корректно. В разных p - разные значения.Это яваскрипт такой припижженный или браузер? Или может я чего не понимаю?
В firefox аналогичное пиздоблядство
>>984326Кинь код в тред. Лучше на https://jsfiddle.net/ , заодно и сам там протести.
>>984331https://jsfiddle.net/p00Ldfx1/Такое впечатление, что в p пишется не temp, а какие-то ссылки.
>>984326дурко, ты ж перезатираешь, вот и не работает как хочешь))
>>983612В LTS-версию Node не завезли async/await, а настраивать webpack/babel я и так заебался уже пиздец. Не хочу им ещё и код серверной стороны ими обрабатывать.Пока Промисами пользуюсь.
>>984336Чебля?
>>984338хуесос ты безмозглый, говорю))
>>984339Хуесос твой батя. А деду твоему об его лысину хуй вытерал.
>>984338то бля - сам подумай как оно работаетвот тут зачатки мыслей уже наблюдаются>>984333
>>984342Этот программистишка совсем порвался, замените.
>>984345>этот быдлодегенерат уровня /зк>сам подумайШутку понял.Смешно.
>>984317Нет, нужно чтобы менялся массив в аргументе а не создавался новый.
>>984345>>984346Ммм... идите нахуй, пидарасы.Я сюда помощи зашел попросить, а вы какую-то хуйню пишете.
>>984347но ведь уже дошло, что там ссылка, осталось только понять какая и дело в шляпе
>>984350>помощи зашел попроситьПомощь доставлена за щекой проверь
>>984352>но ведь уже дошлоЕбать ты оптимист.Розовые очочки не жмут, э?
>>984354надо верить в людей, подумаешь забыл про основы, с кем не бывает)
>>984359>с кем не бывает) Со мной, например.
>>981132 (OP)сап котятки, котонам респекткороче переустановил винду и при установке image-webpack-loader'атакая шнягаhttps://jsfiddle.net/zv1djp4s/кто нить сталкивался ?
Вот так работает. Можно как-то эту хуйню без slice сделать?
>>984359Какие основы, люся? Я на js первый раз в жизни пишу.
https://karmazzin.gitbooks.io/eloquentjavascript_ru/content/chapters/chapter4.html#список Кто-нибудь может мне объяснить эту хуйню? >Это два независимых списка.Почему они независимы, это ведь просто ссылки? >при этом у них есть общая структура list, которая включает три последних элемента каждого из нихПочему три последних? Ведь объект {value: 0, rest: list} и {value: -1, rest: list} тоже будут в этом списке. Че это за хрень вообще, кто-то может доступным языком объяснить? Я даже не пойму что от меня автор хочет.
>>984392Это даже к самому js имеет опосредованное отношение. Такое впечатление что вообще первый раз в жизни кодишь.>>984390Ну вот, дошло?Ты же просто ссылку на массив запихиваешь, а сам он у тебя выше один раз объявлен и ты его изменяешь, а так вак остальные на него ссылаются, то и там становятся таеие же значенич
>>984397Есть общая часть -лист. Мы ее в rest загнали в обоих случаях. Ну а лист у нас состоит из 3.
>>981132 (OP)Господа фронтендеры, встал вопрос. Суть такова, написал бакенд с рест апи и даже набутстрапил шаблончик, теперь появилась нужда в каком нибудь простом жс фреймворке, чтобы дергать апи и выводить данные в мое охуительное spa. Так вот, есть ли простой фреймворк для этого? Чтобы безо всяких бейблов, вебпаков и т.п., просто подключаешь либу и ебашишь без задней мысли.
>>984428Вью))
>>984428Простых нет. А зочем тебе спа, если ты уже на бэкенде накидал? или это пет-проджект?
>>984429Vue ты имеешь ввиду? Так-то он вроде норм, но что тогда взять в качестве рест клиента?
>>984437Это диплом на диплом в шарагу, жс это чисто для себя, просто не писал на нем особо, кроме простого сервера на ноде, хочу попробовать.
Аноны, поясните плз, у всех функций по дефолту прототипом является window, но если создавать объект через Object.create(null), то прототип будет null (т.е его не будет). Всё верно?
>>984448>прототипом является window
>>981132 (OP)Хочу предостеречь вас, жс это говно. Разбирать чужой код, ебашить свой это такая запара вы себе не представляете. Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то. Пока у вас есть время учитесь электрике, сварки, рисованию, а программирование уже не то, кодеров как собак нерезанных и хуй с ним свалишь за бугор если не гений (это не про двачеров).С проектами на других языках получше обстоит дело, но тоже такое. Хохлы и индусы демпингуют рынок, фриланс в 2к17 уже не работает. Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе.
>>984401Чет я всё равно нихуя не понял. Если какие-нибудь источники (ссылочки) где можно подобное более подробно изучить, разжевано.
>>984464Что-то не так? Напомню тебе что я вообще в этом пока не разбирался. Откуда тогда у функций всякие методы вроде toString, apply, call, bind и тд и тп? По моей логике они берутся из глобального объекта window. Ну а как там на самом деле я не ебу, завтра почитаю.
Что для стайлинга с реактом сейчас модно использовать? SASS/LESS?Хочется на атомик-стуктуру кода, чтобы нужный стиль в определённый компонент.
Доброго времени суток, господа, в штыки не воспринимайте, но стал такой вопрос.Вот я точно знаю, что на работке мне надо будет jQuery к джанге с питоном в дополнении. Понимаю, что по-хорошему, надо бы сесть и полностью выучить основы языка, но надо было уже вчера, как это бывает.Короче, не обломлюсь я, если тупо прочитаю книгу из шапки по jQuery, или шансов понять с наскоку ноль ?
>>984519Что хочешь, структура задается программистом, а не препроцессором. Stylus ебани.
>>984519илнайн цсс же
>>984526JQuery проще учить чем жс. Проблема в том что нужно понимать как оно работает под капотом, с jquery этого узнать не получится.>>984518Все почти так. Только в виндоу хранятся эти самые прототипы, но сам виндоус не прототип.
>>984554До 380 раз проседают в сравнении с простыми классами, что касается UX. Тут как раз обсуждение идёт:https://twitter.com/notwaldorf/status/859636431974739968Ну и документ превращают в ебаную кашу, что касается DX.Сам CSS имеет нормальные импорты, с HTTP2 больше нет поводов их не использовать. Кастом пропертис тоже охуенны и как раз дают тот самый контроль из JS. В веб-компонентах есть слоты и scoped-стили.Вроде всё, что надо, есть прям искаропки, но всё это в удивительном мире, где нужно только эвергрины поддерживать, а мы же ебём мёртвых ослов.Наверно лучший вариант сейчас — старое-доброе разделение реализаций по БЭМ с каким-нибудь пре-\пост-процессором.
Аноны, помогите. Не могу въехать в задачу и решить ее.
>>984496Мыкола будет получать 3500 и ссать тебе в рот.
>>984526Поделай отсюда все упражнения-примеры по порядку:https://www.w3schools.com/jquery/default.aspНу и в документации оглавление посмотри, чтоб знать, где копать, если что.http://api.jquery.com/За день можно осилить. Если заказчик понимает, что лично ты не сениор-жиквери-плагин-интегратор, то такого должно хватить для начала.
Ребят, срочно нужна ваша помощь. Что мне делать? Дальше изучать JS(осталось ровно половина курса) или начинать изучение C#? Проблема в том, что я не могу решиться, то ли довести дело до конца и приступить к новому, то ли не мучить себя и начать заниматься интересным мне(в данный момент) делом?
Кто-нибудь может объяснить на замечательном примере, для чего нужны промисы? Я не то, чтобы опытный JS кодер, но норм знаком с шарпами. Уже пол года юзаю JS, но мне ни разу не попалось случая, где промисы были бы лучше кэллбэков.
>>984730Иди занимайся тем, что интересно. Глупо тратить время на остальное, жизнь итак коротка
>>984694https://habrahabr.ru/company/everydaytools/blog/322980/Нет разницы, какие ты там курсики будешь дорчить, пока единственный выхлоп от них — время, проведённое по какому-то сценарию. Будь то коридоры в игре, серии в аниме или уроки в курсах — разницы нет.
>>984731Допустим тебе надо:- Получить данные из хттп запроса- Сделать запрос к базе и убедится, что там нет нужного- Создать в базе новую запись- Получить из базы все записи- Отрендерить ихС коллбеками будет лапша.
>>984517бамп
>>984777Ну что ты бампаешь - это просто на "представить" задача. Какие ссылочки. Если хочешь - приду через пару часов с работы, нарисую даже тебе, может понятней будет
Посоны, чисто дизайнерский вопрос!Надо на страничке нарисовать дерево. Есть два варианта:1. Разбить страничку на верхнюю и нижнюю область (первая пикча). В верхней части дерево. В нижней (онмаусовер на узел в дереве) описание выделенного узла. Минусы - горизонтальная прокрутка уже на 1280. Нижняя часть тож где-то совсем внизу. 2. Разбить на левую и правую часть. В левой части дерево развернуть на 90°. В правой описание. В правой части много места, но в левой дерево не влазиет полность в экран и хош-не-хош вертикальная прокрутка будет.Какой вариант менее говнист?
>>984831второй
>>984833На втором не очень понятно, что это дерево.
https://learn.javascript.ru/new-prototype#прототип-после-создания Как эти прототипы понять вообще можно? Вот например первое же задания. В первом коде true, вроде всё понятно. Во втором тоже true т.к Rabbit.prototype меняет прототип уже после того как один экземпляр был создан. А ВОТ в третьем задании по какой-то причине false... как это понять вообще? Сказано же что prototype меняет свойство __proto__ для новых объектов. Так с чего вдруг оно поменяло прототип объекта даже после того как он был создан? Да и в последнем варианте кода тоже почему-то undefined хотя СНАЧАЛА в коде создается объект, и только после этого КОНСТРУКТОРУ указывается удаление из свойства-объекта prototype какого-то другого свойства.
>>984852Ну все правильно. Rabbit.prototype указывает на объект { eats: true }.var rabbit = new Rabbit() устанавливает свойство __proto__ указывать на этот объект.Затем меняют одно из свойств объекта, но сам-то объект остался тот же самый. Тут не в прототипах дело, а в том, что ты ссылки на объекты не понимаешь
>>984852Сумбурно объяснил, щас еще разок попробую.Вынесем сначала этот объект отдельно:var obj = { eats: true };Теперь Rabbit.prototype = obj - эта запись говорит о том, что Rabbit.prototype и obj являются ссылками на один и тот же объект.var rabbit = new Rabbit() - свойство __proto__ объекта rabbit теперь указывает на тот же объект, что и Rabbit.prototype.Rabbit.prototype.eats = false - свойство eats того объекта, на который указывает Rabbit.prototype, выставляется в false.Так понятней?
>>984688Надеюсь, что для начала хватит, а потом уже разберусь.>>984700Спасибо, а книга в шапке там еще от некоего Дарк Лорда лол годнота, или не стоит обращать внимания ?
>>984698салом не подавись, курва. Мыкола будет получать за щеку, вот это вполне вероятно.
>>984862Спасибо, щас ещё раз всё обдумаю и попробую дальше задания поделать. Я почему-то не думал о том что это именно ссылка на объект, думал что __proto__ у новых созданных объектов будет как-то скопировано. Получается что если мы наделали дохуя объектов, а потом прописали конструктору другой prototype, то у всех этих созданных объектов свойство __proto__ тоже поменяется?
>>984871Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.Тебе бы почитать сначала про указатели что-нибудь, на мой взгляд, это самый верный способ понять объекты.
>>984824Смотри, в книге той и так нарисовано было, но только изначальный лист.Вряд ли конечно это лучше. Но вдруг.Два списка:1) зеленый2) красныйУ них есть общая структура из трех элементов - синий кружокСобственно эта общая структура и есть наш изначальный список - list.
>>984873Я хз почему Кантор об этом нихуя не пишет и сразу задания какие-то даёт. >Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.Для меня пока вот это крайне сложно понять. Все задания которые были - там просто ссылка на объект либо обычные значения которые просто перезаписываются и всё. Пока всё что я понял это что при создании функции из свойства prototype конструктора копируется ссылка в новые объекты которые создаются им. При этом если изменить Rabbit.prototype.eats то будет изменен тот же самый объект поэтому изменения произойдут во всех объектах созданных конструктором. А если функции-конструктору присвоить новое свойство prototype, то уже созданные функции оно не изменит, ибо в них ссылка на другой объект (который получается должен сохраниться где-то в памяти, но доступ к нему напрямую получить уже нельзя, ибо из prototype конструктора он был удалён, только если по отдельности у каждого объекта менять).
>>984879>Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.*фикс
>>984879Нарисуй себе связь на листочке при создании/изменении.
>>984831бамп
Блджад, я что-то не понимаю в структуре редукса. Вот есть контейнер App, с двумя компонентами/контейнерами Page1, Page2 внутри. Сначала писал отдельные экшены/редьюсеры для Page1/2, без оных у App. Залип когда понадобилось нажатием на кнопку в Page1 триггернуть изменение в Page2. К какому компоненту это действие должно относиться? >>984554Импортинг класс неймов из .css?Попробовал уже, дропнул из-за того все классы тогда нужно из .css маппить.
>>984881Да я вроде на словах как-то лучше понимаю, хз даже. Попытался в предыдущем посте объяснить свое понимание, вроде бы всё правильно. Иногда во всяких схемах из зарисовках можно что-то нарисовать по незнанию что в действительности в коде работает не так.
>>984898Нажатием на кнопку ты диспачишь экшн, на который среагирует тот редьюсер, который тебе нужно
>>983381Мне необходимо сокращать длину этой дуги в зависимости от некоторых параметров. Это должен получится SkillCheck из Dead By Daylight (пикрилейтед), в зависимости от одного параметра длина успешной зоны должна становиться меньше.
https://jsbin.com/regodunaxi/edit?js,console,output - попытался создать функцию которая делает reverse массива (да я знаю что есть стандартный метод), но что-то не выходит нормально. Мне нужно чтобы менялся исходный массив. Что не так я делаю? запутался совсем =(
>>984857>>984862>>984873>>984881Вот братишка, разобрал одно задание и как раз написал как это всё работает. https://jsbin.com/qazakadoco/edit?js,console,output
пацаны есть класс который добавляет в нужное время в нужное место html https://jsfiddle.net/bxx94x6b/конкретностроки 48 -> 59так вот, почему то не появляются псевдоэлементы у инпутовпикгде я проебался ?
>>984874Спасибо братишка. Я просто в целом не понял что {value: 0, rest: list} и {value: -1, rest: list} это два других объекта которые просто имеют ссылки на эту структуру и думал что это какие-то тоже вложенные объекты.
Как в цикле по коментам присвоить каждому коменту уникальный id ?
Котаны, доступ к камерам на Андроиде/iOS на сайтах ведь не получить? Да, я не ошибся тредом.Можно ли получить доступ к камерами на мобильниках из-под сайтов?И насколько iPhone и Android поддерживают PWA?
>>984987commentsArray.map((comment, index) => {comment.id = index;});
>>984998А еще лучше uuid поставить и генерить айдишник.
>>984519нахуй эти препроцессоры! пиши на ванильном css3, подключи постпроцессор какой нидь, подруби автопрефиксеры и не еби мозги. И да можешь инлайн стили для простых стилей без наворотов.
>>984898изменения на нажатие в page1 должен мутировать глобальный state ридакса. в свою очередь page 2 должен слушать ту часть глобального state-а, которую нужно. для прослушки отдельной части глобального state поможет компонент высшего порядка connect из либы react-redux. вот и все махинации. напрямую page1 и page2 не должны общаться. только state-ы и только props-ы, без свистоперделок и выебонов.
>>985031>должен мутировать глобальный state ридаксаясно-понятномимо
>>985026аргументируй, как мне юзать фичи того же sass типа амперсанда для БЭМ или @extend или @function я постоянно использую много фич того же sass
>>984831Всю ночь пытался настроить CSS и JS, чтобы корректно отображалось дерево. Каждый час просыпался водички попить
>>985069>настроить JSЭто как?
Как же я ржу с местных "программистов"-фронтендеров.Мимо сишарпогосподин.
>>985069ты гонишьhttp://codepen.io/lindsayeisberg/pen/EjPvam
>>985101>Как же я ржуКак? Запиши и выложи.
>>985101Что важнее, быть уверенным, что ты ТРУ и ржать с "программистов" или зарабатывать $300 000 в секунду?
>>985101а чего тебе ржать то ? Любую сумму поставлю, что я решу любую задачу как академическую так и прикладную на python/js/C лучше чем ты
>>985107Много уже заработал?
>>985107>$300 000 в секунду? Уроки-то сделал?
>>985110Что ты подразумеваешь под "лучше"?
>>985110>я решу любую задачуЗадача коммивояжера.Решай, время пошло.
>>985111Да
>>985114Решил тебе за щеку. Проверяй
>>985117Проверил, твои 12 см не обнаружил.Перерешивай.
>>985116Пруфы?
>>985113чистота/поддерживаемость/горизонтальная масштабируемость кода по версии местных кукаретиковхочешь давай гитхабами просто померяемся
>>985121 - >>985114То есть ты слился, ясненько.>гитхабамиСвалка твоего говна не интересует.
>>985122а ты, соревнования заключается в кросс реализации глупый> То есть ты слился, ясненько.
>>985121>давай гитхабами просто померяемсяТы первый. Только пруфануть не забудь.
сап яневерстальщики подскажите как бы мне через + прописать стили для :afterесть струкрута типа такой.input__wrapper>.input__fieldу .input__wrapper есть :after который должен меняться при фокусе .input__field как бы такое организовать ?
>>985125>этот мелкобуквенный дегенератJS as is.
>>985127Иди нахуй.
>>985129че бомбишь то ?
>>985128у лалки кончились аргументы, лалка пишет про мелкобуквенностьну ты и дитятко
>>985131 >>985132 - >>985128
Вместо того чтобы сраться, лучше давайте обосрем мое тестовое на джуна ангулярщика:Поклацать: https://vasilenkoalex.github.io/test-app-for-empeek1/index.html#!/homeПосмотреть исходники :https://github.com/VasilenkoAlex/Test-application-for-Empeek (тут же в ридми задание).Естественно меня не взяли с обоснованием: "разделяет на мелкие компоненты - бесполезно. Модули не умеет использовать, но воообще видно что по стайл гайду джона папы".Давал на ревью перед отправкой знакомому мидлу - сказал на четыре из пяти, мелкие компоненты збс, расширяемость все дела, кто прав?
>>985136Лучше скажи, где нашел партнеров для гитхабского штурвала (когда друг друга фолловите и звездочки ставите).
>>985142Я плохо умею в сарказм, это плохо?Это мои полтора друга.
>>985148>другаСъеби, социоблядь.
>>985150Блять, у меня три звезды, давай я тебе поставлю и у тебя будет всё заебись?
Анон, который отвечал мне 2 года есть здесь до сих пор? Отзовись! Интересно, как у тебя сейчас дела?
>>985153У меня нет аккаунта в социальной сети "гитхаб", я же не социоблядь.
>>985156Иди нахуй, утомил уже.
А где бы взять задачек или упражнений для тренировок циклов и условных операторов нубу? Я пока сам принцип понял массивов, объектов, if/else, while и for. До функций не дошел и учить не буду пока не потренирую пройденное. Что из этого можно, так сказать, скрафтить? В книге JSFK есть задачка сделать игру в слова, но я хочу еще.
>>985136Не знаю ангуляр и в принципе лень читать твои сырцы, но вот с этого>разделяет на мелкие компоненты - бесполезнопросто дристанул. Вангую, что ты только выиграл, не попав в подобную говноконтору.
>>985239Ну, может я на совсем уж мелкие компоненты поделил, хотя конечно очень вряд ли.
Посоны, чому евент листенер не ремовится?Если кликнуть на div, срабатывает функция onclick="addevent();" и к канвасу добавляется евентлистенер, который передает в функцию funct координаты мыши, а та в свою очередь рисует квадратик на канвасе. Если еще раз кликнуть на div - должен удалиться евент листенер и квадратик остаться в том месте, где кликнул. Но евент листенер не удаляется. Чому? Вот тут код: http://jratva.com/test.html
>>985361у тебя хоть в ту ветку которая после else, программа заходит? Чет не понял условия.
>>985361Разобрался.
>>985363Заходит. Там ошибка была в том, что funct создается я в addevent и поэтому считается как-бы другой функцией, не той, что передана в еддевентлистенер.
>>985361Кстати, нет смысла писать в if (x==false), если у тебя переменная х подразумевает только булевые значения, то пиши if (x)
>>985368Ну да. Я там дикий тупняк словил, когда написал if(!x) - не понятно, что там в ифе происходит и в какую ветку залазием. Начал расписывать. if (x!=false) - так нагляднее
>>985243Я всегда пользуюсь простым правилом, чтобы определить, нужно ли разбивать компонент на несколько: нужно = позволит избежать дупликации кода || имеет смысл с точки зрения предметной области
Я пхпшник, но вынужден работать версталой. Я не могу понять как на клиентской части мне писать в ооп стиле? Я все в функции пихаю и горожу бороду из ифов. Мне просто больно вместо няшных классов делать объекты или о боже прототипирование. Я даже функцию из родительской функции вызвать не могу. А в пхп бы просто класс создал и вызвал из него метод. Как же я ненавижу жс
>>985389>версталойПри чем тут жс?Для таких, как ты, уже сто лет как завезли ES6-классы
>>985397Это что за классы? Я пишу сложную анимаций, адаптацию на жс.
>>985401Просвещайся: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes
http://jsraccoon.ru/es6-classesПросто слезы на глаза наворачиваются от "ооп" на жс.пхпшик изнасилованный жсом
>>985407А что не так-то? Тебе привата так сильно не хватает? Расслабься, это у всех так поначалу
>>985410а че с приватом не так ? http://2ality.com/2016/01/private-data-classes.html#using-symbols-as-keys-for-private-properties
>>985414А методы ты как приватить будешь? Все будешь в конструкторе нахуяривать?
>>985419а нахуя их приватить то? Просто неиспользуй их и все долбоеб.
>>985420именно
>>985420Я блять и не собирался нихуя приватить, это ты тут начал выступать про приват в жс. Еще и обзывается почем зря
>>985414>>985410Но это убожество какое-то, у меня глаза вытекают, какие-то зис вместо публичных методов, дефолта приватные функции. И главное меня еще и упрекают что я видите ли не пишу ооп на их уродском функциональном жаваскрипте.
>>985424ржу с пхп дауна кек
>>985424Поверь, пройдет месяц и ты прозреешь. Алсо, ООП уровня жабы с абстрактными синглтонами фабрик фасолин в жс никто не пишет. Используй объекты там, где они естественны, а где естественны функции - используй функции, и все будет хорошо.
>>985424да нет никакого ооп в жс имбицилы, учитесь в прототипы
бля пацаны как вы фрилансите ? У меня с предыдущей галеры 3 сайта в awwwards.com выставлены дизайн + пр начитался охуительных смотрю fl.ru -> ебать, 20 тысяч за сайт под ключ с современным дизайном там обычно работы на два - три месяца на галере я бы под 200 получил за ту же работу
>>985430я хуй знает, какие там объекты в фронтенде можно лепить? типа объект "анимация скроллбара" и в нем клик методы?мне вообще сказали нахуярить функции как в Жаве или сишарпе по событию. Отдельно функции на клик, отдельно на хувер, отдельно на скролл. Но они в такую лапшу разрослись, что яебу так комбинировать.
>>985454фриланс задемпингован индусами, школьниками, инвалидами и бомже-студиями из мухосраней, не рекомендую.
>>985457попробуй RxJS или еще какую реализацию observable
объект сколлбартипа как у этого >>984941
>>985457Ну правильно тебе все сказали. События - самый удобный способ управления control flow, и главное - технологие- и языконезависимый. А в лапшу оно разрастается, потому что ты размазываешь стэйт по всему коду, а надо держать в одном месте. Гугли redux
>>985465Пояснить за rx можешь?Вот я посмотрел на redux-observable, который собственно rx использует.Не зашло как-то. На генераторах в redux-saga работать с сайдэффектами мне лично было поприятнейНу и по звездам уступает, куда ж без них.Расскажи про профиты, сильные/слабые стороны из опыта если можешь.
некогда мне ваш редакс ковырять. мне помимо работы еще хочется своими проектами позаниматься, а не учить очередной йоба фреймворк/технологию
>>985529Ну тогда ебись с локальными стейтами, нахуяривай регистри, заслуженно получая по ебалу каждый раз, когда забудешь вызвать какой-нибудь update или notify
я вкатываюсь в реакт, поясните в двух словах, как он берет данные, например, из апи!!допустим есть апи сервиса погоды (который отдает json файл, больше я пока про апи ничего не знаю(, я так понимаю, с помощью реакта оно парсится и передается в компоненты, а там уже идет их рендер, верно?
>>985548Неверно.1. Уверен, что api отдает именно json-файл, а не просто json-объект?2. React - это библиотека для наебенивания вьюшек. Какие именно проперти ты будешь ему подсовывать, откуда ты их будешь брать, как ты их будешь использовать - это твоя проблема, а не реакта. Так что с помощью реакта ничего ни вот что не парсится.3. Получать свой json можешь, например, fetch-ем. Как парсить - а я ебу? Как данные в json упакованы, так и парсить, я откуда знаю, что тебе там надо.
>>985537ты о чем вообще? я клиент делаю. фронтенд
>>985548да, спарсил джсон и распихал по пропсам
>>985031Нихуя не понял. Всё у меня хранится в сторе редукса, константы(ну, типы экшенов)/экшены/редьюсеры разделены на 2 компонента. И вот как мне их взаимодействие организовывать? Вариант который я вижу: экшн "отправляющего" компонента диспатчит действие определённого типа, а редьюсер "принимающий" реагирует. Но тогда будет константа, относящаяся к обоим компонентами, что как мне казалось неправильно.
>>984898Вот пидарас блять, кнопочки он в редаксе нажимает блятьА диспачить кто будет?Экшоны тебе накой?Ты редьюсеры для мамки своей писал?
>>985617Жалко что я даже не могу понять твой баттхёрт. К тому же я действительно пидор.
>>985136Вчера сдал такое же задание на проверку. Вот уж не думал, что конкурента на двачике встречу.
>>985136Мой >>985641 вариант - https://vlad-elagin.github.io/test_prod/
>>984898>>985611Какой же ты тупой
>>985619ты из хохляндии?
>>985642Мда уж, офигеть конечно мы по-разному с тобой сделали, несмотря даже на то что ты вебпак прикрутил. Мб у меня опыта не хватает, но почему ты сделал так, как сделал? нгредакс, куча стейтов, куча ооп или хз что это? Какой бекграунд у тебя? Не забудь запостить сюда их фидбек.
>>984337Юзай бабель или страдай.
>>985769>нгредаксПотому что я реактоблядь и иначе не умею организовать код. Сначала я думал без редакса сделать, но контроллеры быстро разрослись в размерах, спагетти код пошел. в качестве плюса сохранение состояния приложения в локалсторейдж в 2 строках кода.>куча стейтовИз-за редакса, пробрасывание его стейта в качестве параметров компоненту.>куча оопПрост чтоб показать, что я могу в использование ес6 классов с ангуляром.>вебпак прикрутилТоже необязательно, но, опять же, показать, что я владею вебпаком (использую уже настроенный из бойлерплейта).Фидбека ещё нет, мне дали срок до 5 числа, думал, что у всех так, а потом уже будут проверять все сданные задания.Бэкграунд - около полутора лет работы с жс, чуть меньше года работы с фреймворками.
>>985795>нгредаксА то что у тебя роутинга нет? Тип назад/вперед не понажимать, что по этому поводу думаешь?Плюс еще если в комментах запостить длинный текст без пробелов - вылезет за границы бокса, есть збс свойств цсс - оверфлоу-врап.
>>985814Там роутинга нет по заданию, одна страница. Вообще неплохо было бы сделать и другую, чтобы, опять же, похвастаться, но мне впадлец стало. Или ты имел в виду синхронизацию стейта и браузерхистори?А с текстареа проебался, да.
>>985817Ну, насчет роутинга там просто ничего не сказано, но по идее в любом спа ты должен иметь возможность вперед/назад в браузере нажимать и осмысленные урл кидать, имхо лучшеэтим выебываться чем вебпаком.Нашел у тебя кайнд оф баг, который у себя иксил - создаешь допустим 10 айтем. Потом удаляешь первые девять, а если открыть комменты бывшего десятого заново - всё еще будет будет надписьь "комментс #10"
>>985822Согласен насчет роутинга, но уже поздно.А это не баг, каждому айтему присваивается уникальный айди, который и выводится в заголовок панели с комментариями, а не его порядковый номер.
>>985823Но тогда если расценивать это как реальное приложение - у тебя айдишник никогдане обнулится и через год "использования" этого аппа я буду создавать итем с миллиоными номерами, вроде не очень клево.
>>985830От использования зависит же. Если это crm для мелкой компании, где документация не играет особой роли, то можно было бы и обнуляемые сделать, наверное. А в серьёзных компаниях идут на такую жертву. Видел, сколько цифр в номере накладной в Новой Почте, например?
>>985835Да, вероятно ты прав
какие "проекты" можно сделать, если целюсь в реакто-джуниоры? стоит ли юзать редакс или без него?
>>985862redux обязательно. это основная приблуда реакта.
>>985862Проекты юбые, какие придумаешь или найдешь идею.Для стейт-менеджмента есть redux и mobx. Redux популярней и можно сказать выбор по умолчанию.НОПрежде чем что-то использовать или добавлять ты должен понимать для чего оно тебе надо. Без этого будет возникать лишняя куча вопросов и не будет нормального понимания. А без понимания получится жалкое зрелище, а не код.Дерзай.
>>985872любыеселффикс
>>985862https://medium.freecodecamp.com/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d
>>984428Нахуя тебе фреймворк(значение знаешь?) для дерганья апи? Ебашь полифил для fetch и в путь
Посоны, тег table (td, tr) сейчас используют? Или это позапрошлый век?
>>985902Недавно переделал флексопедерастию дивами на одном прожекте на ламповую таблицу, потому что лучше и удобнее таблиц ничего нет.
>>985902Напоминаю, что HTML изначально был предназначен для описания документа, а не его внешнего вида.Ключевое слово "table" это значит таблица и ничего больше, и браузер должен и обязан (вроде как, хехе) понимать это дословно, т.е. в точности так, как написано.Ключевое слово "table" не значит вёрстка, Web 1.0 и прошлый век.
>>985902для табличных данных
>>984428>Чтобы безо всяких бейблов, вебпаков и т.п., просто подключаешь либу и ебашишь без задней мысли.Обмазаться жиквери не пробовал?
>>984870>Мыкола будет получать за щеку, вот это вполне вероятноЕму будут доплачивать за принятие, не забывай.А всё, что будешь принимать ты, это обоссаный мамкин борщ.
>>984691>манипулировать инлайнед цссЕбать дибилы.
>>983965>>984225>angular 1.5
>>985904Фу, какой извращенец.
Смотрите какая ситуация. Я пишу на сях и крестах, но мне нужно сейчас написать небольшую игру на джаваскрипте. Где можно найти шпаргалку по всем основным языковым элементам, чтобы держать ее в параллельной вкладке? Не хочу читать учебники, где учат программированию.
>>986039Secrets of the JavaScript Ninja 2nd edition>Audience>If you aren’t at all familiar with JavaScript, this probably shouldn’t be your first book. Even if it is, don’t worry too much; we try to present fundamental JavaScript concepts in a way that should be understandable even for relative beginners. But, to be honest, this book will probably best fit people who already know some JavaScript and who wish to deepen their understanding of JavaScript as a language, as well as the browser as the environment in which JavaScript code is executed.
Посоны, я таки дописал ту хуйню >>978942
>>986076поздравляю
>>985506вкусовщина же. Пояснить могу но он http://stackoverflow.com/questions/40021344/why-use-redux-observable-over-redux-sagaсделал лучшеrx пытается унифицировать работу с евент драйвен программированием
Возможно ли осилить JS на достаточном уровне, за 3-4 месяца интенсивного изучения, каждый день, по 5-6 часов, для того чтобы начать на нем хоть что-то зарабатывать? Первый мой язык программирования, раньше только дизайнил/верстал.
>>986461Нет. Только до уровня создания простейших слайдеров. Для зароботка - как минимум месяцев десять в таком режиме.
>>986469ой не пизди
Имеется ли конфа данного треда в дискорде? а то этот телеграм просто смех ебаный.
Пиздец я поплыл на этих прототипах, вроде всё понятно было до того момента когда автор начал добавлять новый метод в стандартный прототип строк и показал данный код (пик). Вообще чет нихуя не пойму. String.prototype.repeat = function(times) { return new Array(times + 1).join(this); // что происходит здесь я уже боюсь спрашивать. };alert( "ля".repeat(3) ); // ляляляnew Array(times + 1) насколько я понимаю создает массив с количеством пустых свойств times + 1. Далее к этому объекту применяется метод .join(this) который объединяет массив в строку используя этот же самый массив как разделитель? ШИТО БЛЯТЬ? И как получается что "ля".repeat(3) сразу возвращает готовую "утроенную" строку?
>>986544Не этот же самый массив, а строку, в контексте которой вызывается метод repeat
И ещё вот кое-что не понял. Почему создавая метод напрямую как Object.create то он будет доступен из экземпляров (объектов)? Ведь экземпляры получают прототип из Object.prototype т.е из СВОЙСТВА конструктора, а не из конструктора Object напрямую.
>>986552Уже вроде разобрался немного. Но вроде this в этот момент является объектом, в который (куда-то) записывается это строка. Так как можно использовать полностью сам объект String в join? Пусть даже в нём внутри хранится эта строка в виде примитива, почему тогда вызов не через this.value например, где value то свойство в которое записывается наше "ля" при вызове конструктора. Как-то пиздец странно.
>>986556Я нихуя не понял, о чем ты.Внутри функции this может принимать либо значение window / undefined (в зависимости от того, включен ли strict mode) в случае, когда функция вызывается сама по себе, либо значение объекта, в контексте которого происходит вызов.func() { тут this = window / undefined }obj.func() { тут this = obj }
>>986555Метод Object.create как раз НЕ будет доступен из экземпляров
>Computer & Programming fundamentalsНичего не ясно с этим требованием, что спрашивать будут?
>>986559Когда вызываешь метод на строке, то строка временно оборачивается в объект к которому и применяется этот метод, потом результат возвращается а временных объект удаляется. Именно этот временный объект и является тем this в аргументе .join. Но как так получается что что this в join превращается в строку ля, ведь возвращается именно этот временный объект-обертка.
>>986560Я наверное непонятно выразился сорян. Кантор пишет - "Допустимо изменение прототипа встроенных объектов", а пример кода (который ниже на скрине) изменяет не прототип встроенного объекта, а просто назначает конструктору Object новое свойство. Прототип Object.prototype здесь никак не был задействован.
>>984337Так напиши свою функцию работающую на генераторах, аналогичную async/await, она очень простая.
>>984440Axios
>>986659Очевидно, потому, что join использует строковое представление своего аргумента.>>986661Ну и в чем тогда проблема?
Ну что я снова делаю не так?
>>986814Уже отвечали, занимайся тем, что нравится
>>986809concat
>>986820Не понял. Зачем? Это же строка.
>>986809У тебя result - строка, какого хуя ты пытаешься что-то в нее записать через bracket notation? Так не работает, через скобки можно читать значения из строки, но не записывать.
>>986823>какого хуя ты пытаешься что-то в нее записать через bracket notation? Так не работает>через скобки можно читать значения из строкиНу, я подумал, что все-таки можно и записывать по аналогии с массивом. Не помню, может, где-то раньше в главе про строки такое и говорилось, но сейчас вы мне действительно новость сказали. Сейчас вот все хорошо работает и без concat, хз зачем усложнять.
>>986840Я серьезно, не помню в книге такого нюанса. Запишу это в тетрадь в конспект. Спасибо.
Понимаете, раньше работающие аналогии я уже замечал. Например, хотя в книге .slice(x,y) рассматривался пока только в контексте строк, он вполне применим и к массивам. Я просто попробовал так сделать, и получил новый порезаный массив. Вполне мог неправильно запомнить вывод из этого как "вся эта хрень работает одинаково и там и там".
>>986842Строка это строка, а массив это массив. Юзай charAt чтоб не путать, или просто хардкорно запомни. А так обращайся чо.
>>986713>Очевидно, потому, что join использует строковое представление своего аргумента.Т.е когда объект String передаётся в join, то срабатывает его метод .toString передающих строку? Как-то хуй знает. >Ну и в чем тогда проблема?Ну в том что речь идёт об изменении ПРОТОТИПА встроенного конструктора, а в коде меняет не прототип.
>>986916>Т.е когда объект String передаётся в join, то срабатывает его метод .toString передающих строку?Ничего там не "срабатывает", просто функция join написана таким образом, что перегоняет переданный аргумент в строковое представление. arg = String(arg) или что-то такое.
>>986461Да. Если ты верстала с опытом, то можешь очень быстро закатиться.
Что по вебпаку можно почитать, чтобы быстро вкатиться?
>>986977документацию
>>986977Хуйня вопрос, делай следующее:- ставишь на комп npm и ноду- ставишь бабел и пишешь бабелконфиг- ставишь вебпак и вебпак-мерж- заебениваешь два скрипта для нпм, чтобы один собирал под дев, второй под прод- пишешь основной вебпаковский конфиг с настройками, которые должны применяться и к дев, и к прод сборке- пишешь два специальных конфига под дев и прод, подцепляешь их при помощи webpack-merge и NODE_ENV- в базовом конфиге: рантайм-зависимости, правила резолвинга модулей и файлов, бабель-лоадер- в деве: настройки для вебпак-дев-сервера- в проде: правила битья кода на чанки, углифай, критикал сиэсэсОтсос браузерифай + галп + бабель-кли + моча + говно, которые сосут хуй по жизни, тебе обеспечен, и уже через полгода ты будешь изучать такие дозы фреймворков, что maven будет тратить часы на сборку проекта, увидев размер твоего node_modules
>>985410На так есть же модули, сам решай что экспортировать. Не экспортированные функции и будут действовать как приватные методы.>>985424> функциональном жаваскрипте.Функцию в функцию передать ты и в PHP можешь, ровно как и вернуть функцию из функции. Но это ведь не делает его функциональным, ровно как и JavaScript.>>987021> ставишь на комп npmДед, пора уже yarn ставить.
>>986992Ты про оф документацию? Я читаю, но пока ничего не понимаю.>>987021Я ничего не понял из того что ты написал.
>>987042>Дед, пора уже yarn ставить.Я не дед, я ньюфаня во фронтенде, поясни за ярн, какие преимущества он сможет мне дать? Юзаю npm для 1) установки пакетов; 2) запуска скриптов, никаких других пожеланий к нему не возникало
>>987056>Ты про оф документацию? Я читаю, но пока ничего не понимаю.Так потому что надо не читать, а делать что-то. Начни писать хотя бы тот же остоебенивший туду-лист со связкой react + redux, и сразу же добровольно-принудительно познакомишься с кучей полезностей.>Я ничего не понял из того что ты написал.Да я шуткануть вообще пытался, скрестив две известные пасты про кодерство
>>987060Я делаю, но я не понимаю как делать. Вот например, у меня есть файл index.js который я подключаю в мой index.html. Как мне к index.js подключить react и react-dom? Я так понимаю что мне в entry нужно что прописать, но не понимаю что.
>>987065https://www.youtube.com/watch?v=kLMjOd-x0aQ&list=PLDyvV36pndZHfBThhg4Z0822EEG9VGenn
>>987070Спасибо за ссылку, но бы быстро разобраться с основами, а не подкасты смотреть.
>>987072но мне бы*
>>987065Значит, смотри.1. react, react-dom, любые другие библиотеки и вообще любой js файл можно подключить в другом js файле при помощи импорта.Вот тут почитай про ES6-модули, import, export, все такое: https://learn.javascript.ru/modules2. Но хуй там плавал, ни один броузер до сих пор не поддерживает из коробки эту залупу, поэтому тебе придется поставить транспайлер, который будет всякие ништяки из ES6 переводить в понятные любому не совсем окаменевшему броузеру вызовы. В качестве транспайлера можешь использовать, например, babel. Тут полазь, посмотри, как написать простейший конфиг: https://babeljs.io/3. babel сам по себе не обрабатывает синтаксис модулей. webpack версии 2 умеет это делать сам, причем, емнип, без дополнительных телодвижений с твоей стороны. А бабель нужно подключить к webpack при помощи специального лоадера под названием babel-loader. Вот тут посмотри, что есть лоадеры и как и запиливать: https://webpack.js.org/loaders/4. У твоего веб-приложения есть entry-points, т.е. те файлы, которые ты будешь непосредственно в html файле script-тегами задавать. Все остальные необходимые зависимости будут притягиваться сами по import инструкциям. В простейшем случае, когда весь твой код в итоге оказывается, вместе со всеми зависимостями, в одном файле index.js, этот index.js и будет твоим entry-point. Также тебе нужно указать, в какую директорию складывать твои транспилированные файлы и как из обзывать. Это делается при помощи конфига output: https://webpack.js.org/configuration/output/
>>987079Спасибо, анон, выручил.
>>987065Раз уж я сегодня добрый, можешь глянуть тут мой вебпак-конфиг, чтобы, смотря на него, написать свой и разобраться: https://pastebin.com/6mvjg70J
Джава-господин вкатывается во фронтенд. На выбор два стула, реакт и ангуляр. Напарник-фронтендщик намекает, что реакт попизже будет, дескать попроще, аргументов уже не помню.На ангуляре уже был написан MVP проект и скоро будет сдан заказчику. Что понравилось в ангуляре:– тайпскрипт, динамическая undefined джаваскрипт параша не нужна хотя тс толком не защищает– целостный фреймворк с роутингами и т.д., чем-то напомнило божественный спринг, где все есть из коробочки– отделение html/css говна, в которое я почти не лез, от ts-логики– angular-cli– директивы типа *ngFor какие-то ущербные, хотя не знаю, как это имплементируется в реактеНе понравилось:– слишком дохуя повторяющегося кода, даже учитывая, что я джавист– редукс прилеплен как-то сбоку, вообще какое-то странное озущение, будто фреймворк переписывался раз шесть и все продумывалось второпях– ts не такая уж панацеяКакие аргументы у реакт-адептов?
>>987093Дополнение: во фронтенд-болото глубоко входить не хочу. Планирую задрочить один фреймворк и мониторить исключительно его изменения ближайшие года.
>>987093> слишком дохуя повторяющегося кода,в реакте тоже самое а в более общем варианте в любой технологии задроченой под работу с UIбудто в qt не много повторящегося кода> редукс прилеплен как-то сбокулол > Какие аргументы у реакт-адептов?реакт ебет и будет ебать второй ангуляр комьюнити уже сделало свой выбор, ентерпрайзники скорее остануться на 1.5 ибо легаси а все новое будут писать на reactкак это сделали сбербанк и билайн
Почему мне по запрсоу "собака" только 2 результата в гугл апи вышло? Мне кажется, что-то не так с моим апи. Алсо, что такое cx?https://www.googleapis.com/customsearch/v1?key=мойключ&cx=017576662512468239146:omuauf_lfve&q=%D1%81%D0%BE%D0%B1%D0%B0%D0%BA%D0%B0https://pastebin.com/uMawapLX
>>986919Сам по себе объект в строковое представление нормально не перегонится, для этого у него должен быть метод .toString который делает подобное преобразование.
>>987362Ну ты совсем тупой или как? Т.е. тебя раздирают сомнения, есть ли у объекта String метод toString? Доебал уже.
>>987373Меня разрывают сомнения как происходит внутреннее преобразование, т.е куда записывается значение строки при обертывании в объект String.
>>987475Хуйней какой-то страдаешь, срсли. Строка - это просто строка, зачем тебе еботня с тем, боксед или не боксед там что-то внутри
>>987515Хотелось бы иметь полное понимание, а абстракций ебаных итак хватает.
https://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/
>>987475https://www.ecma-international.org/ecma-262/7.0/index.html#sec-properties-of-the-string-prototype-objectВ документации это свойство называется [[StringData]], в хроме - [[PrimitiveValue]], хуй знает чому, особенности реализации браузера наверн, не суть.Затем, когда нужно преобразование, toString или valueOf читает это свойство и вуаля.
Что за хуйня с вебштормом?Первый раз он не видит, а второй раз видит. Так с любым первым методом.
http://jsbin.com/mocebixoge/edit?js,console,output - не пойму в чем ошибка. Вот само задание, если нужно будет - https://learn.javascript.ru/class-inheritance#класс-часы
>>987826Тебе не вызывать надо в сетинтервале а передать функцию, которая вызываться будет. Короче ты не понимаешь а) как работает сетинтервалб) что делает аплай. Или просто натупил
>>987829Спс, но один хуй там ошибка далеко не в этом была.
>>987860При исправлении на bind должно было заработать
ПЕРЕКАТhttps://2ch.hk/pr/res/988024.htmlhttps://2ch.hk/pr/res/988024.html