Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 мая 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
9 Кб, 1052x1052
109 Кб, 1000x900
292 Кб, 1140x813
JavaScript #77 #981132 В конец треда | Веб
Ссылка на прошлый тред: >>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/ для серверного кода.
#2 #981137
Все кто ниже - пидорасы.
981320
#3 #981139
Памахите люди добрые. Делаю йобу, когда чел скроллит до ее топа - она должна прилипать кверху, на скролл табы переключаются и на последний таб она отлипает и скроллится раньше.
Сделал это через $(window).scrollTop(). Те пока не дойдет до последнего таба окно скроллится к началу йобы, создается эффект прилипания. Во всех браузерах это работает нормально. Но вот жеж хуй, тестировщик сказал сделать эту йобу и для IE. А в этом блядском браузере есть баг (фича), что скроллы дико тормозят, поэтому при скролле йоба начинает трястись.
В общем, я решил выйти из положения поставив диву position fixed, но тогда нижний контент начинает себя причудливо вести, подьезжать под йобу и даже див распорка с заданной высотой не помогает. Что делать?
981183
16 Кб, 1042x382
#4 #981182
Посоны, словил дикий тупняк на такой примитивной задачке. Нужна помощь, потому что я что-то совсем глупый.
Есть две зелененькие (не активные) кнопочки. При надавливании на одну из них, она становится красненькой (активной). Если перестать надавливать - обратно становится зелененькой (не активной). А надо не так. Надо, чтобы:
При надавливании на одну кнопку, она становилась красненькой (активной) и оставалась после отпускания. Дальше, если мы нажмем:
- опять на ту же кнопку и отпустим - она становится зелененькой (не активной)
- на другую кнопку - предыдущая становится зелененькой (не активной) в момент нажатия на другую. А эта другая становится красненькой (активной) и остается после отпускания
Вот тут кнопочки выложил: http://jratva.com/buttons.html
#5 #981183
>>981139
нагнуть тестировщика за IE
#6 #981185
>>981182
То есть понял, типа эффект залипания нужен. Нажал на кнопочку - она залипла. Нажал на нее же - отлипла. Или на другую нажал - эта отлипла, а другая залипла.
#7 #981187
>>981182
Ну так и напиши в обработчике. Если нет класса эктив на нажимаемой - убираешь эктив с других, а на нажатую вешаешь. Если есть класс эктив, то просто убираешь с текущей.
981197
#8 #981197
>>981187
Э... че?
sage #9 #981320
>>981137
(![]+[])[+!![]+(+!![])]+([][[]]+[])[+[]]+(![]+[])[+!![]+(+!![]+(+!![]))]+(!![]+[])[+!![]+(+!![]+(+!![]))]+(!![]+[])[+!![]]
31 Кб, 1054x716
0 Кб, 104x35
#10 #981367
>>981182
Вчера вечером часа на 2 идиота включил. Только что проснулся и за 5 минут все сделал.
Вот тут кнопочки выложил: http://jratva.com/buttons.html
981369981370
0 Кб, 122x48
#11 #981369
>>981367
Если при двух зелёных кнопках нажать правой кнопкой на одну из них, и с зажатой правой кнопкой увести курсор с кнопки (чтобы открылось меню, но не сразу, а при отпускании за пределами кнопки), а потом, при открытом меню повторить процедуру на другой кнопке (опять нажать правую кнопку и не отпуская увести курсор с кнопки), то они обе станут красными. Огнелис.
981371
#12 #981370
>>981367
И тут же баг случайно обнаружил. Если надавить на кнопочку, сдвинуть мышку за пределы кнопки и отпустить - onmauseup не срабатывает и вся эта фигня начинает работать как попало.
#13 #981371
>>981369
Во-во. Надо onmouseover какой-нить городить и еще одним флажком проверять был ли вызван onmouseup
39 Кб, 1298x823
#14 #981373
Чего оно не чинится? Если нажать на кнопку и отвести от нее зажатую мышку - онмаусовер срабатывать. Если же опять повторить эту же процедуру - срабатывает только если повторно на кнопку мышку навести.
Вот тут кнопочки выложил: http://jratva.com/buttons.html
#15 #981375
>>981373
Зачем тебе этот onmouseup? Не лучше ли использовать onclick?
981377
#16 #981377
>>981375
На уп и довн висят функции, которые исключительно только дизайн кнопки меняют. На клике уже висят функции для работы с приложением. Не хочу говнодизайн мешать с логикой.
#17 #981382
>>981373

>mouseover


mouseout
слоуфикс
#18 #981384
>>981373
Че-т не получается.
Посоны, а можно как-то координаты мышки захватить и не выпускать ее с кнопки, пока пользователь мышку не отожмет?
981391
#19 #981391
>>981384

>координаты мышки захватить


Это просто блджад эталонное говнокодерство. Лучше уж повесь две функции на онклик.
#20 #981397
Это снова я по поводу загрузки данных для странички после php.

Допустим php скрипт рисует табличку заполненную нулями. Чтобы данные в табличке обновились, нужен JS, да? Могу ли я на своем сервере выполнять этот JS код, чтобы получить данные?
981401
#21 #981398
Сап, джейсон стейтемы, есть вопрос - как сейчас модно и молодежно отдавать единый файл со стилями? Есть ли способ захуярить его прямо в джс, сбандленый вебпаком или все еще по-старинке отдают двумя отдельными запросами? Кто модный. кто в теме, можно с линками, чтобы почитать как стоит делать и почему. В ангельский могу.
#22 #981401
>>981397
Вот нашел аякс в коде http://ideone.com/NeVHOF
Полная ссылка внутри аякс http://na-bns.ncsoft.com/ingame/bs/character/data/equipments/
Но если перейти по ней, то получается fail. Мне кажется, что нужно передать еще и информацию "test", чтобы получить правильный ответ, поскольку на сайте на каждое значение - набор отдается разный. Помогите получить правильный ответ, если это возможно.
38 Кб, 1006x398
3 Кб, 295x147
#23 #981415
Сейчас сгорю наху. Явно что-то упускаю, но это просто какой-то бред.

http://na-bns.ncsoft.com/ingame/bs/character/data/pointeffects.json выдает ответ прямо в браузер.

А код с пикчи не работает. Мало того, чтоб запрос ничего не возвращает, так еще и вся страничка не отвечает - тесты не проходятся, даже тот который ПЕРЕД аяксом. Убираю аякс - все тесты работают. Что не так?
981444
#24 #981421
Посоны, писал мобильное приложение с использованием Angularа, более менее понравилось.
Посмотрел вскольз туториал на реакт, показалось сложнее.
Стоит перекатываться на реакт?
981426
#25 #981426
>>981421
Вкатываться в реакт сложнее из-за того, что конструктор по сути, много стороннего придется выучить, но потом начинает нравиться поболее чем ангуляр ибо гибко, модно, молодежно. Я первые пару месяцев грезил ангуляром, но теперь полюбил реакт, пишу огромную приложуху, пока все ок.
#26 #981444
>>981415

Ты закрывающую круглую скобку забыл поставить для $.ajax
981474
38 Кб, 928x432
#27 #981474
>>981444
Точно, поставил. Все равно не работает.
981481
#28 #981481
>>981474
Как можно быть таким мудаком, а? Иди повесься программирование - не твое.

Перемести скобку с 19-й строки в конец 17-й
981487
#29 #981485
Если я хочу сравнить строку "false" и значение false оперетором ==, который по идее должен сначала сам привести типы, типа так "false" == false; что к чему он сначала приведет?

Я вот не могу понять. Если он превратит "false" в булевое false, то должно быть false=false, а если false к строке, то должно выйти "false"="false". В любом случае я ожидаю результата true, но выдает false.

Почему?
981499
38 Кб, 972x420
4 Кб, 290x158
#30 #981487
>>981481
Щас бы за невнимательность называть мудаком. И правда, сдедал, первый и третий тест срабатывают, а вот внутрь самого аякса браузер не заглядывает. Там обязан же быть success, раз ссылка рабочая. Что теперь не так?
981509
148 Кб, 1920x1080
#31 #981497
И еще, кто-нибудь скажет как так выходит?
Если просто написать название переменной, в консоли выведет одно значение, а если написать её содержимое в a.l.e.r.t.() - совсем другое!
981507981511
#32 #981499
>>981485
== не используй вообще
981504
44 Кб, 467x700
#33 #981500
Посоны, есть два массива. array и f. Массив f хранит некоторые значения. Вот эти значения надо отсортировать, причем в том же порядке отсортировать и элементы массива array. Есть какая-нить функция в JS?
981539981542
#34 #981504
>>981499
Очередной совет долбаеба. Если ты не можешь понять преобразования, то конечно == юзать не стоит, но иногда подобное преобразование может сделать код лучше и желательно использовать именно ==.
#35 #981507
>>981497

>League Of Legends


Не удивительно что ты идиот.
Почему ты считаешь что изменяя переменные они будут изменять значение другой переменной которая уже БЫЛА назначена ДО этого?
981512
#36 #981509
>>981487

Попробуй $.get И ещё у тебя по дурацки всё оформлено, неужели начальную фигурную скобку у function нельзя держать на одной строке с отступом в один пробел? Тебе следить за правильностью написания элементарно легче станет.
981559
#37 #981511
>>981497

Ты поменял значения переменных. Allow были присвоено значение вычисленное по старым исходным данным, поэтому оно всегда false. В алерте ты вычисляешь всё заново.
981514
#38 #981512
>>981507
А че ты злой такой? ТИМА РАКОВ не дает из Бронзы выйти, да?
981516
#39 #981514
>>981511
Ага, понял! Спасибо!
#40 #981516
>>981512
Я вообще не играю
#41 #981539
>>981500
Бамп
#42 #981542
>>981500

.sort() не?
981549
#43 #981549
>>981542
А как мне в сорт сразу два массива засунуть?
981563
36 Кб, 736x473
#44 #981559
>>981509
Попробовал, результат тот же, то есть никакой - браузер не залазит туда. Какие еще могут быть варианты?

>у тебя по дурацки всё оформлено


Нормально оформлено. Половина пишет так, а половина по-другому.
981681981786
#45 #981563
>>981549

Нахрена два засовывать? Пишешь функцию сортировки funstion s(hui, pizda) { return hui >= pizda; } , потом вызываешь на обоих массивах метод sort(s).
981567
#46 #981567
>>981563
А вопрос прочитать прежде чем отвечать - не?
981570
#47 #981570
>>981567

> Вот эти значения надо отсортировать, причем в том же порядке отсортировать и элементы массива array



И в чём же я не прав?
981573
#48 #981573
>>981570
В порядке - не в том смысле, что по возрастанию/убыванию, а в том смысле, что массив f содержит порядок сортировки массива array. Блять, как тебе объяснить, чтобы ты понял. Вот как вот тут https://jsfiddle.net/cwah9bfL/ , только но не так говнокодисто.
981574981629
#49 #981574
>>981573
элементы в массиве array, которые соответствуют (по индексу) наибольшим значениям в массиве f - уходят в начало. Наименьшим значениям - в конец.
44 Кб, 467x700
#50 #981629
>>981573

>только но не так говнокодисто.


Ладно, один хер и так работает.
Посоны, а есть вот у меня массив array. Как оттуда извлечь случайный элемент, так чтобы в array он стерся (все элементы после него сдвинулись на одну позицию, если не с конца извлекли)???
Типо как array.pop(), только со случайной позиции. Есть какая-нить функция в JS?
981634981635
5 Кб, 968x80
#51 #981634
>>981629
Нагуглил.
40 Кб, 1370x436
#52 #981635
>>981629
Отличненько. По одному вынимаем их из массива и обрабатываем.
18 Кб, 658x55
#53 #981643
Помогите, пожалуйста
981689
#54 #981681
>>981559

>Нормально оформлено


ДЕБИЛ БЛЯТЬ СУКА ЕБАНЫЙ.
4 Кб, 1221x89
#55 #981689
>>981643
Держи, братишка
#56 #981703
Всем привет, наткнулся тут по работе на одну задачку, никак решить не могу.
Короче, есть массив с данными, который через 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, и соответственно не находит.
Внимание вопрос. Как сделать так, чтоб При клике на чекбок шло обращение к функции в скрипте?
981706
#57 #981705
Так-с, что-за хуйня происходит в мире JS? Какие-то ES6, ECMAScript, ECMA-262, 6th Edition, ох бля, мне уже плохо. И зачем об этом везде пишут? Анон, поясни по-хардкору, или дай какую-то статью на эту тему.
#58 #981706
>>981703
Думаю тебе надо забиндить другой контекст своей функции
981708981718
#59 #981708
>>981706
Каким образом? Я просто в джаваскрипте и кнокауте не очень шарю, основная сцпециализация c#.
981712981726
#60 #981712
>>981708
func = func.bind(context, args (опционально))

то есть идет возврат функции, только в другом контексте и можно передать аргументы
981713981714981718
#61 #981713
>>981712
контекст, это текущий объект, на котором вызывается функция
#62 #981714
>>981712
Это понятно. Просто если я вызываю функцию на ивенте клик, то кнокаут всё равно будет ссылатся на массив с данными, а не скрипт. Вопрос в том как этот самый контекст вытащить
#63 #981715
Нормального синхронного чтения строк из stdin нету что ли? В гугле всякая хуета ы eof и only works on Windows.
72 Кб, 1401x570
#64 #981718
>>981706
>>981712
Короче, вот чтоб было нагляднее. При таком вызове он вылетает ошибка, мол функция не найдена. Как правильно прописать контекст чтоб всё заработало?
981721
#65 #981721
>>981718
Хз, тут видимо в нокауте дело, а я его не знаю, может просто в скрипте достать элемент по атрибуту
document.querySelector([data-foo="bar"]);

и навесить на него обработчик в скрипте.
981723
#66 #981723
>>981721
Но мне нужно вызывать функцию только по клику на элемент, иначе смысла нет
981725
#67 #981725
>>981723
Так и будет работать только по клику

https://pastebin.com/6LgvXAiX
981728
499 Кб, 1265x1600
#68 #981726
>>981708
В нокауте - хз. Я с ним не работал.
Могу разве что дать линк на документацию лол
http://knockoutjs.com/documentation/binding-context.html
981728
#69 #981728
>>981725
Только одна проблема. Мне одновременно нужно слушать каждую строчку. А количество строчек в таблице может быть разным. При этом, при клике на определённую строчку, мне нужно не только вызвать нужную функцию, но и передать в эту функцию данные из строчки на которую я кликнул.
>>981726
Её я уже вдоль и поперёк прочитал, не очень помогло.
981736981737
#70 #981736
>>981728
Тогда вешай обработчик на всю таблицу, а обрабатывать уже можешь через event.target (тот элемент на котором сработало событие) (event - первый параметр в функцию обработчик передается).
981740
133 Кб, 1078x1500
#71 #981737
>>981728
Вот это разве не оно?
$parentContext

This 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.
981739
#72 #981739
>>981737
О, попробую. Отпишусь как результат будет.
981750
#73 #981740
>>981736
Но это конечно костыли, если ты делаешь через фреймворк
#74 #981750
>>981739
Ну и куда ты съебал?
981801981810
#75 #981786
>>981559
Бамп
#76 #981801
>>981750
У меня какие-то проблемы с подключением к рабочему компу, не мог проверить.
#77 #981810
>>981750
Короче, спасибо за помощь, сработала конструкция вида: $root.functionName
#78 #981899
Кем вообще работают жс-макаки, если отбросить вёрстку и прочий фронт энд. Не хотет до конца ней своих верстать говностранички.
981911
#79 #981911
>>981899
фронтенд это не сколько верстка сколько написании логики. еще есть сервер-сайд (node.js), мобильные приложения (react native) десктоп (electron).
981913
#80 #981913
>>981911
И как много серверных и мобильных приложений написано на жабьем скрипе?
981917981938
#81 #981917
>>981913
Щас самый популярный стек технологий это angular/react/etc и node.js. Мобильные, десктопные приложения эти те же SPA но в контейнере. Щас дохуя таких клепают ибо один код на все платформы.
51 Кб, 572x546
#83 #982025
Объясните ньюфагу как организовывать последовательные действия при ассинхронности (на промиссах)? Коллбеками?
Пытаюсь для тренировки разобраться с 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)) } )
44 Кб, 451x440
#84 #982028
>>982025

>func1(name, pass, api => { func2(api, (api, ids) => { func3(api, ids) } ) } )


Пофиксил немного.
982113
36 Кб, 400x366
#85 #982032
>>982025

>api.somepromisecall(arg).then( (res) =>


{ callback(api, res) } )
И тут ещё забыл фигурные скобки.
75 Кб, 540x960
#87 #982137
Привет девчёнки. Короче такая тема, я хелоувордщик со стажем, ебашу хелоуворды уже пару лет и ни одного нормального проекта я не сделал. Учил уже наверно все языки кроме Хаскеля. Я все таки решил сдеалать хоть что то и вот какая у меня идея. Я сейчас смотрю уроки JavaScript30 и я увидел такую удивительную вещь как fetch. И думаю сдалать сайтик который может подгружать инфу с сервера и выводить и обновлять контент на сайте. Проблема в том что я долбоеб который не может довести дело до конца что я хуй его знает где можно брать инфу, где брать такие базы данных которые можно использовать с помощью fetch.
Или просто дайте идею что сдеалать что бы не стыдно было показать на собеседовании. Кидайте свои идеи , братья.
#88 #982140
А вы в курсе, что /b на react сделано, у меня плагин в хроме, который я недавно поставил сдетектил. Непонятно тогда, почему на других досках его нет.
982146
#89 #982144
Дано:
2.2 грамма фена
Опыт написания прог на C\C++ до 700 строк
Базовый/средний уровень знания JS (+ NodeJS по learnyounode и некоторому количеству практики)
Весьма недурное знание английского
Планы написать приложение с вот этим вот всем:
Frontend
1) React/Redux
2) Service (а лучше Shared) Workers
3) WebSocket
Backend
1) VanillaJS на ноде
2) аутентификация
3) вменяемый API
React изучал по Codecademy (то есть не оче с практикой), плюс уже манов достаточно раскурил.
VanillaJS на ноде использовал и уже успешно примитивный статический сервер написал.
На этом собственно всё, о workers, webpack и прочем знания лишь теоретические.

Вопрос: не охуею ли я?
982148
122 Кб, 1458x409
#90 #982146
>>982140
неправда
982150
#91 #982148
>>982144
ванила на ноде такое себе. лучше express. хотя если тебе только сокеты нужны то хватит socket.io.
#92 #982150
>>982146
Ок, но на остальных досках у меня значек плагина не подсвечивался и не было доступа в меню плагина
184 Кб, 335x506
122 Кб, 1407x824
#93 #982159
>>982025
Понял что Промиссы и так являются "обёрткой" для колбеков и сделал на них.
Такое ощущение что я на Хачкеле пишу.
Если кто хочет подсказать что я делаю не так (в т.ч. по стилю кода):
https://pastebin.com/QM5qUnwv
Но в принципе всё работает.
>>982113
Спасибо, почитаю.
982162982164
#94 #982162
>>982159
выглядит ок
#95 #982164
>>982159
А что значит function getFollowingUsers( {pixiv, userID} ), всмысле, что ждет функция на вход, это же не объект? Это что-то из es6 синтаксиса?
982166
53 Кб, 400x590
#96 #982166
>>982164
Наверное из es6, в последнем nodeJS работает.
Что-то аналогичное:
function getFollowingUsers( obj ) {
const pixiv = obj.pixiv
const userID = obj.userID
/.../
}
982169
#97 #982169
>>982166
Понял, разбор объекта по компонентам, неплохо, js-то прогрессирует
982171
300 Кб, 521x704
#98 #982171
>>982169

>js-то прогрессирует


Я конечно ньюфаг, но у меня впечатление что костыли на костылях. Тот же es6 далеко не весь браузеры поддерживают.
Я заебался настраивать webpack и прочие перделки.
982174
#99 #982174
>>982171

>Тот же es6 далеко не весь браузеры поддерживают.


Babel жи

А перделки да, они хипстеры они заполонили
#100 #982186
>>981132 (OP)
В чем прикол программистких-тян-носков?
983030
#101 #982216
Поясните, зачем нужны эти ваши реакты-хуякты, если тоже самое можно сделать на каком нибудь С#/Жава/пхп?
982227982246
#102 #982220
NPM NODE YARN BABEL BABEL-POLYFILL GULP WEBPACK JEST SINON REACT REDUX MATERIAL-UI JSDOM ENZYME WHATWG-FETCH PROP-TYPES NORMALIZR WEBPACK-DEV-SERVER

У меня все.
#103 #982227
>>982216
потому что твое

>С#/Жава/пхп


устарело
982251
11 Кб, 320x180
#104 #982238
Насоветуйте что почитать по бекенду (как сервер на экспрессе хотя бы на локалхосте запилить и как связывать его с фронтендом на реакте) для ньюфага, который считал чёрной магией сисадминов всякие СЕТИ, ПРОТОКОЛЫ, HTTP.
35 Кб, 700x467
#105 #982239
Посоны, а как мне сгенерировать два рандомных числа от 0 до 99, но так, чтобы они гарантированно отличались друг от друга?
Первое число
var random1 = Math.floor(Math.random() умножить на (100));
Второе можно в цикле сгенерировать?
do{
var random2 = Math.floor(Math.random() умножить на (100));
}while(random1!=random2)

Но это ж пиздец говнокод. Можно как-то попроще сделать?
#106 #982240
>>982239

>!=


==
быстрофикс
#107 #982246
>>982216
Чтобы страничка не перезагружалась. Это сейчас главное в вебе.
982251
#108 #982251
>>982227
Почему устарело то?

>>982246
И ради этого использовать отдельный фреймворк с хуевой тучей библиотек?
982260
529 Кб, 2100x3150
#109 #982258
>>982025
callback -> deferred -> promise -> async/await
#110 #982260
>>982251
Это называется SPA (single page application). Сейчас все десктопные приложения мигрируют в браузер, поэтому да, нужен фреймворк, ибо изначально веб не был предназначен для такого. А огромное обилие библиотек это следствие принципа "каждая тулза должна делать что-то одно".
#111 #982262
>>982239
var random1 = Math.floor(Math.random() умножить на (100));
var random2= random1%99 + 1
Блябуду точно не совпадут.
982267
16 Кб, 266x196
#112 #982267
>>982262
Это даже не петросянство, а что-то уровня пикрелейтед
1149 Кб, 1280x720
#114 #982270
>>982239
Что тебе в твоём варианте не нравится, блять?
>>982268
Если ему рандом из [1..10000], то он сначала весь массив будет в память ложить, да?
#115 #982311
>>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);
982312
#116 #982312
>>982311
Обосрался с разметкой
https://jsfiddle.net/q7ekfd8d/
#117 #982321
>>982239

>Но это ж пиздец говнокод.


Почему?
0 Кб, 260x61
#118 #982329
Посоны, а я опять по поводу локалстореджа. Че-т он мне вообще не нравится. Можно как-то сделать вот как на пикче? Чтобы нажимаешь обзор, выбираешь txt-файл и весь массив в него сохраняешь (или из него загружаешь)
982332
#119 #982332
>>982329
Можно, гугли HTML5 FileSystem
982347
#120 #982347
>>982332

>HTML5 FileSystem


>На момент подготовки этой статьи FileSystem API был реализован только в браузере Google Chrome.

982788
#121 #982359
>>982239
Самый простой и быстрый вариант
#122 #982370
То чувство, когда видишь JS-треды уже давно, но не решаешься перекатиться в чистый фронтенд с андроида. Ибо джява всё же стабильнее, 40 летний фронтендер - это 100% неликвид. Да и не нужны чистые фронтендеры, в основном фуллстек
982373982374982433
#123 #982373
>>982370
Поясни за >фуллстек
#124 #982374
>>982370
а что сложного в том, чтобы быть фуллстаком? Кстати, верстка - не так уж и легко, нужно быть внимательным к мелочам, пиксель влево, пиксель вправо, проверять на тысячи экранных разрешений, делать резиново, оптимизировать, выполнять больные фантазии дизайнеров.
982391
#125 #982387
Посоветуйте толковую книгу по js, чтоб со всеми тонкостями.
982390
#126 #982390
#128 #982396
>>982391
чушь, под фуллстаком сейчас бекенд плюс фронтенд подразумевают. Конечно, супер хорошо ты будешь знать только что-то одно, но второе тоже надо знать.
37 Кб, 1130x363
33 Кб, 926x338
5 Кб, 408x146
#129 #982398
Это снова я, проблему так и не смог решить.

Есть ссылка, которая отдает json http://na-bns.ncsoft.com/ingame/bs/character/data/pointeffects.json и я пытаюсь вытащить эту инфу способами на пикчах. По какой-то причине, браузер вообще не заходит в эту конструкцию ни с $.ajax, ни с $.get. Код здесь http://ideone.com/lgCacU

ХАЛП
982740
4 Кб, 730x159
7 Кб, 1023x90
#130 #982411
Посоны, CSS кто-то шарит? Вот у меня кнопочки дивом оформлены. Если на кнопочке сделать даблклик - выделяется текст и это не очень круто. Как вот эту фигню убрать?
982415982418982420
#131 #982415
>>982411
Ага, нашел:
onselectstart="return false"
#132 #982418
>>982411
div::selection { background: transparent; }
#133 #982420
>>982411
не делать кнопочки дивом
982422982427
#134 #982422
>>982420
А чем их делать?
0 Кб, 277x32
#135 #982427
>>982420
В этих кнопочках вся суть, дизайнерский выебос, сидел полдня пердохался, чтобы нормально работало. >>981182
Если надавить на кнопочку - она становится зажатой (windows 98 -стайл) и в центре экрана выползает (дисплей:блок) div с настройками и кнопочкой ok. После всех настроек нажимаем ок - div обратно заползает (дислпей:нон) и кнопочка отжимается.
982470
#136 #982429
Как же приятно написав много кода в проекте, выполнив таски, с чувством выполненного долга пойти в туалет посрать.
#137 #982433
>>982370

>Да и не нужны чистые фронтендеры, в основном фуллстек


Нужны.
#138 #982470
>>982427
уродский дизайн
982542
#139 #982473
Чем отличается жс от экма скрипт?
120 Кб, 593x640
#140 #982490
Хороший тред, помогает ньюфагам нет
982502
#141 #982502
>>982490
Не нет, а да. Мне вот выше помогли.
982506
#142 #982506
>>982502
А мне не отвечают уже несколько дней, хотя я и бампаю
982521
#143 #982521
>>982506
Ты неправильно бампаешь, давай свой хуец :3
#144 #982542
>>982470
Чому?
#145 #982595
Анон, доставь пикчу с типажами программистов по фреймворкам.
#146 #982610
Ебал вас всех в рот, сам решил проблему. Так сложно было один символ подсказать, обмудки?
982614
#147 #982614
>>982610
Сосируй, лалка :3
22 Кб, 638x603
#148 #982638
Антощи, почему не выпадает случайное число из массива? :c
#149 #982640
>>982638
А у тебя лицензионный генератор рандома?
#150 #982648
>>982638
Выпадает
Ты его сохранил в number
#151 #982656
>>982638
Ты серьёзно сейчас?
982659
#152 #982657
>>982638
Выпадает. Тебе везёт на тройку.
#153 #982659
>>982656
Не бомби, просто перевод оказался несколько странным и меня запутал. Ну да ладно.
982660
#154 #982660
>>982659
У моргана, всмысли.
120 Кб, 711x302
#155 #982680
Я тут ноду изучаю по видосикам. Вы что правда так хтмл добавляете??
982752982848982858
47 Кб, 830x424
#156 #982704
https://learn.javascript.ru/exception#проброс-исключения
Объясните дауну. throw создаёт объект ошибки который передаётся в catch(e), (т.е "e" это и есть этот самый объект возвращенный throw) но что происходит когда мы в блоке catch создаём throw я так и не понял. Этот объект автоматически сохраняется как объект следующего try...catch? Чет я логики в этом не увидел, нахуя внешнему try...catch объект ошибки из какого-то другого блока кода? Или я всё таки неправильно понял как работает это фигня?
982707
#157 #982707
>>982704
Throw не создает, а бросает. Catch - ловит. Throw в catch делает тоже самое: ты поймал исключение, возможно, как-то обработал его (логирование, например), а затем бросил его дальше.
982712
#158 #982712
>>982707
Чет "бросить" принципиально отличается от того что я написал? Т.е в принципе всё правильно, throw просто запоминает ошибку из catch(e) и бросает её в следующий try...catch ?
но, >Чет я логики в этом не увидел, нахуя внешнему try...catch объект ошибки из какого-то другого блока кода? Или я всё таки неправильно понял как работает это фигня?
982760
#159 #982740
>>982398

Ты что консоль то пишет смотрел хоть? У тебя скорее всего No 'Access-Control-Allow-Origin' header is present on the requested resource. выводится, вытащить ты его в принципе на фронте не сможешь. Ищи другой источник для данных, либо с локалхоста что-нибудь запрашивай.
982768
#160 #982746
Как с помощью только JS (без всяких нод, джквери и т.п.) получить список файлов на компе? Без кнопок "выбрать файл" и прочего.
Вот есть пусть к папке (c:\\temp, например) и надо вывести список всех файлов. Ещё лучше найти только изображения в указанной папке.
982751
#161 #982751
>>982746
Из бровузера? Никак.
982753
#162 #982752
>>982680
А что тут такого?
982804
#163 #982753
>>982751
не из браузера, в коде фоном подгрузить надо все картинки из папки
982800
#164 #982760
>>982712
Ошибка бросается только на более высокий уровень. В том случае что ты написал, второй блок тру-кетча никогда не словит первую ошибку, он иожит словить только ту ошибку которую модет выкинуть функция readData(). А в первом блоке, после проброса ошибки в катче, она выйдет на уровень выше, в данном случае скорее всего просто выпадет в консоль.
982777982778
#165 #982768
>>982740

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


Да-да, вот только я уже вытащил всё. "Не сможешь", лол. Там нужно было один символ поменять в коде, и любой из присутствущих, кто делал ajax запросы должен это знать, но не знал НИКТО. Тут либо специально не хотели подсказывать, либо просто никто в треде не умеет в элементарный ajax, что сполна характеризует местных советчиков.
982772
#166 #982771
Сап ЖаваСкриптач, хочу вкатится к вам. Есть совсем мелкие знания по питону и Си, знаю что они тут в большинстве своем нахуй не нужны.

Вопрос. Мне сразу начинать читать литературу с гитхаб-фака или сначала попытаться что-то еще изучить, дабы все шло лучше? Хтмл? CSS? Что нужно чтоб эффективно вкатится в ваше братство хуевой оптимизации?
982899
#167 #982772
>>982768
Я вот не умею в ajax и не понял какой символ там нужно было поменять
Так какой?
982776
231 Кб, 1280x768
#168 #982776
>>982772
dataType: "json" -> dataType: "jsonp"
982785
#169 #982777
>>982760
Тогда какой смысл было делать такой пример и указывать на то что ошибка выпадает в соседний блок?
#170 #982778
>>982760

> В том случае что ты написал, второй блок тру-кетча никогда не словит первую ошибку


>он можит словить только ту ошибку которую модет выкинуть функция readData()



Блять ты определись уже, словит он её или не словит, там только функция и внешний код, больше ничего нет.
#171 #982785
>>982776
здешние бояре jquery не используют, да и ископаемый способ (это я про jsonp) тоже могут не знать
982789
#172 #982788
>>982347
Ой не рассказывай. Проблемы будут только в ие9 для подгрузки файлов аяксом нужны скрытые iframe и анальная боль, но сомневаюсь что он тебе нужен.
#173 #982789
>>982785

>ископаемый способ


Ну так почему мне не подсказали современный рабочий способ? Надо полагать, что ты такой знаешь, если считаешь это старым способом.
982803
#174 #982800
>>982753

>не из браузера


А откуда?
Все будет зависеть от того, на чем ты будешь крутить свое говно. В твоем рантайме может быть библиотека для работы с файлами, а может не быть. Но в любом случае, даже если тебе не придется подключать никаких библиотек, это будет что-то стороннее как и джкуери или ноде.
https://docs.nativescript.org/cookbook/file-system
#175 #982803
>>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 или надстройки. Это и является современным подходом.

У меня сегодня хорошее настроение, поэтому и решил написать.
А тебе надо меньше вешать ярлыки на анонов в треде и судить о их знаниях/навыках. К тому же все могут ошибаться/забывать/не знать чего-либо.
В том числе и я :)
Такие вот дела
982857
#176 #982804
>>982752
пиздец, а где отдельные хтмл странички?
#177 #982839
>>981373
Вот тебе чертов извращенец. И да, сделай стили отдельно для нажатых и не нажатых кнопок
https://jsfiddle.net/gqzbx87s/
#178 #982848
>>982680
Кто вы блядь? К кому ты обращаешься?
#179 #982857
>>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).
982892
#180 #982858
>>982680
Че эт оза стрингбилдер?))) Берешь и просто конкатенируешь плюсиком.
39 Кб, 858x305
#181 #982885
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
#182 #982888
https://jsbin.com/pibaxutehe/edit?js,console,output - почему str становится undefined при вызове функции?
982893982904
3 Кб, 1070x46
#183 #982891
Так ангуляры-реакты - это получается тупо шаблонизаторы для нодыжс?
#184 #982892
>>982857
Короч, не знаю на сколько это красивое решение, но в пхп все решилось в две строки без каких-либо костылей.
982894
#185 #982893
>>982888
Короче я просто не пойму как в зависимости от ошибки можно вызвать рекурсивно эту же функцию но с другими параметрами. Просто если назначать переменную в начале функции, то потом она опять переопределяется на ту же самую и я чет додуматься не могу как сделать правильно.
982904
7 Кб, 953x128
#186 #982894
>>982892
Отклеилось
#187 #982899
>>982771
бамп
37 Кб, 700x363
#188 #982904
>>982888
>>982893
Дополнение к этому. Вот например одноразовую функцию я написал (пик). Но если и второй раз вводится неправильное значение, то выводится просто undefined, а хотелось бы чтобы функция опять вызывалась.
982926
8 Кб, 368x189
#189 #982926
>>982904
var на let замени
982963
#190 #982963
>>982926
мне бы суть объяснить, а не просто сказать что сделать.
983045
100 Кб, 830x683
#191 #982987
https://learn.javascript.ru/getters-setters#геттер-и-сеттер-для-воды

Не понял как автор так просто использует throw new Error() в условии, без try...catch? В теме по try...catch это использовался только внутри данной конструкции, а как работает вне её - не рассказывалось. Куда уходит этот объект и почему вообще выходит уведомление об ошибки если throw new Error() по словам автора просто бросает объект ошибки в catch, но по сути не показывает никакое окно уведомления.
983595
#192 #983030
>>982186
бумп вопросу
#193 #983042
Привет, всем. Я в js новичек, написал mvc сапера и начал разбираться с модулями, поставил webpack, прописал импорты/экспорты, все работает...

Есть ли отличие модулей CommonJS от NodeJS? Или это одно и тоже? Экспорт по умолчанию module.exports = MyClass это NodeJS синтаксис?

Нужно ли разбираться с RequireJS в 2017?
41 Кб, 493x497
#194 #983045
>>982963
Почитай про отличия var от let/const
983092
#195 #983092
>>983045
Отличия я знаю, при чем здесь это? Мне нужно чтобы кто-то объяснил почему именно мой вариант не работает.
983093
27 Кб, 434x480
#196 #983093
>>983092
Значит не знаешь.
И вообще - кинь код не пастебине, я с твоего скрина должен переписывать чтобы у себя затестить?
983095
#197 #983095
sage #198 #983105
Какой же обоссаный тред, просто пиздец
#199 #983106
Как советовали выше, читаю книжечку JS For Kids. И Сайт https://learn.javascript.ru заодно, там чуть детальней некоторые вещи расписаны. Вот я кое-чего не понял, помогите плиз.

Есть цикл for типа такого:

for (начало; условие; шаг) {
// ... тело цикла ...
}

Позже сказано, что можно пропустить любую часть for. Зачем тогда "начало" нужно? В смысле, и без него же цикл начнется? Можете своими словами объяснить суть вот этих начало-условие-шаг? Как вы этим на самом деле пользуетесь?
983112983131
#200 #983112
>>983106
Вопрос вдогонку:
На сайте последняя часть for перед телом называется "шаг", а в книге - инкрементом. Всегда ли шаг = инкремент? Или это можеьт быть что-то еще?
983131
#201 #983131
>>983112
Может быть и дикримент.
for (var i = 10; i > 5; i--) { alert(i); }
Так что шаг правильней.
>>983106
В начале ты объявляешь переменную, над которой орудуешь. Можешь не объявлять а взять уже готовую, например.
Алсо for не создает области видимости, так что если у тебя первый цикл с i, то второй обычно делают с j и дальше по алфавиту
983136983139
#202 #983136
>>983131
Т.е. кроме ++ или -- там ничего другого быть не может? Например, (i * j)
#203 #983139
>>983131

>не создает области видимости


Я еще нуб и не понял вот этого. Переменная, созданная внутри первого for не видна для второго и нам придется объявлять новую переменную в другом цикле или, наоборот, еще как видна, но мы сознательно объявим/возьмем другую переменную что бы избежать путаницы и глюков?
983213
26 Кб, 700x467
#204 #983170
Посоны! А как в onmouseover=function(); передать координаты мышки???
983186983458
#205 #983186
>>983170
Нагуглил onmouseover=function(event.pageX, event.pageY);
Главное - вначале спросить. А потом уже гуглить можно.
#206 #983194
Есть пхпшники, перекатившиеся в ноду? Вам не больно?
983244
#207 #983213
>>983139
второе. чего тебе не понятно, сформулируй вопрос
983233
#208 #983233
>>983213
Суть области видимости не понятна. Хотя я только что прочел статью в википедии и, если правильно понял, то имеем вот что:
Внутри определенной области видимости мы привязываем некоторое имя к некоторой информации, т.е. объявляем переменную. Внутри этой конкретной области видимости по этому конкретному имени будем находить именно эту информацию.
Но! ВНЕ этой области (т.е. в какой-нибудь другой) за этим самым именем ничего не закреплено, т.е. в области №2 это имя ничего не означает. И мы можем этим же именем из области №1 обозначить другую информацию.

Поскольку for не создает область №2, имя переменной i в первом цикле может быть использовано по отношению с этой самой пеерменной в следующем цикле, и что бы эти циклы случайно не изменили значения друг друга, во второй цикл мы введем переменную с другим именем. Так?
983265
#209 #983244
>>983194
Нода пхпшникам нахуй не нужна. Человек может говорить на разных языках - на русском, английском, немецком. Но думает он на одном языке. Так же и с погромированием. Те, кто вкатились в web через PHP - для них JS только вспомогательный инструмент. Те, кто через JS вкатился - не могут въехать до конца в PHP и придумывают себе всякие ноды.
983250
#210 #983250
>>983244
Найс ярлычки
8 Кб, 275x280
#211 #983262
Айоу Сука. Рад приветствовать вас, фронтендеры. Обращаюсь я к вам за помощью. Ибо я еблан и прогуливал школу, а теперь требуются некоторые знания школьного курса алгебры/геометрии для решения одной тривиальной задачи.
Собсна проблема такова. Имеется окружность. Имеются две дуги, одна из них вписана в окружность, вторая описана вокруг нее. (см. пикрилейтед). Дуги нарисованы на свг. Задача в том что бы пропорционально сокращать длину обоих дуг таким образом что бы они не пересекали окружность.
Проблема в том что я не знаю какое соотношение deltaX к deltaY должно быть что бы выполнить задачу и пропорции не нарушились.
983381
#212 #983265
>>983233
Именно. Причем переменная i из первого цикла очень часто бывает нужна во втором, но уже не в той роли, что в первом цикле, например в алгоритмах обхода двумерных массивов
733 Кб, 1280x1024
48 Кб, 752x531
#213 #983315
Поясните за each из Cheerio.
Пример из доков:
var cheerio = require('cheerio'),
$ = cheerio.load(SOME_HTML),
fruits = [];
$('li').each(function(i, elem) {
fruits = $(this).text();
});
fruits.join(', ');

Что в this находиться? Вроде бы elem === this, но нахуя?
983340983387983390
#214 #983337
Сама задача и решение Кантора - https://learn.javascript.ru/getters-setters#создать-сеттер-для-onready

https://jsbin.com/naxevubapo/edit?js,console,output - мое решение.

Не понял зачем нужно оборачивать функцию внутри setTimeout в анонимную? Почему нельзя изменить функцию onReady без этого? Ведь пока идёт таймер функция ещё не запущена и в этот момент (по логике) её можно изменить.
79 Кб, 1068x672
#215 #983340
>>983315
Алсо, в другом случае уже this - пустой объект.
Хуй знает чем конкретно контекст различается.
983387983390
4 Кб, 230x62
#216 #983373
Как заставить блядский vs code ставить скобки после имени функции? Заебался вручную скобочки писать во всех функциях.
sage #217 #983381
>>983262
если ты делаешь то, о чем я подумал индикатор загрузки - то это можно сделать проще.
Например тебе нахуй не нужны 2 дуги, просто сделай круг и под ним дугу, визуально будет тоже самое что и твой пик. Дальше манипулируй этой подложкой. Другой вопрос если ты хочешь их пустить с разной скоростью. Алсо это не алгебра, а геометрия за 7 класс.
984918
#218 #983387
>>983340
>>983315

Просто так, кому то так удобнее. А во втором случае используется стрелочная функция. В ней нет своего this, в примере используется this родителя.
983390
#219 #983390
>>983340
>>983315
>>983387

Ну и ещё, если вдруг внутри где-то ещё будет использоваться function у которого свой this, а тебе вдруг надо будет воспользоваться элементом, то тут без elem уже не обойтись.
#220 #983458
>>983170
Ты не тот чувак с кнопками что выше?
983490
#221 #983490
>>983458
Тот. Интерфейс разрабатываю.
#222 #983558
В ExtJS шарит кто? Как в treestore сделать фильтр? Чтобы как в простом сторе работало.
983560
#223 #983560
>>983558
4.2 версия
#224 #983581
Я так понял, присвоить переменной массив иил объект можно, а цикл - нельзя? Не вижу в гугле ничего на эту тему. Вчера ошибку консоль показала, когда я так пытался сделать. Может, что-то дргугое было неправильно.
983615
#225 #983595
>>982987
Бамп.
983596
#226 #983596
>>983595
Должно выбрасывать в JavaScript Console в браузере.
В консоль, в общем, она там где-то есть.
В браузере.
983611
#227 #983611
>>983596
да я пытаюсь принцип понять, кантор объяснял что эта херня только создает объект ошибки, но почему происходит сама передача этой ошибки
#228 #983612
>>982025
async/await
983614984337
#229 #983614
>>983612
Ну или корутины.
#230 #983615
>>983581
Естественно нельзя. Если нужно инкапсулировать в переменной какую-то имплементацию используются функции.
983626
#231 #983626
>>983615

>имплементаци


Ясненько. Еще не дошел до функций.
983629
#232 #983629
>>983626
Гринтекст случайно получился, он ничего не означает.
#233 #983640
Вот что сказано в книге:
"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 8192
And voilà! This short for loop prints out all the powers of 2 below 10,000."

Т.е. инкремент - это не только символ ++ и его действие (увеличение на 1), а любое действие, которое ведет к увеличению какой-либо переменной? Т.е. это инкремент - var watermelon = 5; watermelon++; но вот это watermelon *= 3; тоже инкремент?
983742983765
26 Кб, 700x467
#234 #983703
Посоны, а что произойдет, если в локалсторедж попытаться впихнуть чуть больше, чем туда влазиет? Вот есть у меня 5 массивов по мегабайту, которые влазиют. И есть шестой, который до конца не влазиет, но очень хочется туда запихнуть. Ошибку выдаст? Поместится частично? Или что-то из старого затрет?
983739
#235 #983733
Я чувствую себя дебилом. В книге чувак дает задачки, и многие я хоть убей не знаю как решить. Потом смотрю в ответы и сразу все становится понятно и логично, я полностью понимаю что он делает. Но вот сам решить не могу. У вас такое бывает?
983736
#236 #983736
>>983733
Да, раньше такое было.
Просто со временем моск привыкает думать "как программа" и все получается.
#237 #983739
>>983703
Откроется черная дыра и все распидорасит нахуй.
Вот, ты попробуй так сделать и посмотри что случится.
983757
#238 #983742
>>983640
Да, сивол это просто символ.
i++, ++i, или i += 1 - это просто операторы языка предоставляющие синтаксический сахарок, чтобы не писать i = i + 1;
#239 #983757
>>983739

>Uncaught DOMException: Failed to set the 'f5.arr' property on 'Storage': Setting the value of 'f5.arr' exceeded the quota.

983762
#240 #983762
>>983757
Все, теперь знаешь. Видишь как просто7
983784
#241 #983765
>>983640
Если бы ты знал английский, то одно слово инкремент тебе избавило тебя от таких размышлений.
983802
8 Кб, 476x342
#242 #983784
>>983762
От n=0 до n=130 влазиет. 131 уже не пихается. Думаю, мне хватит.
#243 #983802
>>983765
Я знаю английский, придурок. Сильно палишься в треде.
#244 #983939
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?
984124
#245 #983965
Делаю тестовое задание на вакансию ангуляр-макаки. Сам реактобоярин, поэтому приложение написал с применением redux, иначе не умею. Сделайте код ревью чтоль.
Код:
https://github.com/vlad-elagin/test_dev
Превью:
https://vlad-elagin.github.io/test_prod/

Есть ещё день на допиливание, намечены пара косметических фиксов и первая попытка автоматизированного тестирования в моей карьере.
984134984225985924
#246 #984110
Объясните быдлану, это сама суть множества, что нельзя получить значение по индексу?
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Set
Какое тогда ёобу мне использовать, чтобы хранить уникальные значения/получать/удалять числа с помощью встроенных методов. Не хочу копаться в массиве и splice юзать каждый раз.
984136
#247 #984124
>>983939
Потому что в результате присвоения ты создаешь новый объект, а parentEnable хранит ссылку на старый.
984137
#248 #984134
>>983965
Как подбирать цвета, чтобы было красиииво?
984179
#249 #984136
>>984110
Ты кокойто странній. Можешь использовать обічніе обїекті литералі. Можешь использовать Map.
984183
#250 #984137
>>984124
О чем ты?
Сначала CoffeeMachine() запускается через конструктор, потом Machine() отдаёт ей свои методы, далее (уже имея методы) this.enable имеет this CoffeeMachine(). Никакого СТАРОГО this там нет.
#251 #984179
>>984134
Мне макет выслали. А вообще -
https://color.adobe.com/explore/?filter=most-used
984214
#252 #984183
>>984136
Сырник?
984214
#253 #984214
>>984183
Лол, я под него мимикрирую.

>>984179
А вот это тема! Можно теперь в резюме добавлять навыки дизайна.
#254 #984225
>>983965
Бамп просьбе.
985924
#255 #984256
Привет, подскажите по задаче сапер javascript.
Как сделать:

>>https://github.com/enotocode/minesweeper.mvc/blob/master/app/BrowserView.js


>>Тут у тебя жестко прописаны id и селекторы элементов, и мы не можем поместить на 1 странице несколько BrowserView (привязанные к одной или разным моделям), жаль. Ну и ссылка на document жестко прописана.



Мне видятся два варианта. Как сделать лучше, есть ли другие решения?
1. генерировать уникальный случайный айди при создании экземпляра класса BrowserView, он будет добавляться к id всех сгенерированных dom-объектов, чтобы иметь доступ к ним через getElementById.
2. хранить сгенерированные элементы внутри экземпляра класса и изменять их свойство innerHTML.
#256 #984293
Как можно без метода reverse() поменять порядок свойств массива на обратный? Чет никак не могу алгоритм придумать.
984317
#257 #984317
>>984293
let newArray = [];
for (let i = oldArray.length; i >=0; i--) {
newArray.push(olsArray);
}
Не?
984348
27 Кб, 956x590
28 Кб, 738x746
!!! #258 #984326
Посоны, че это за ёбаная хуита нахуй?

Есть у меня массив temp, скажем, в котором я храню некоторые данные. Есть у меня также массив p на 5 ячеек, в которые я хочу сохранять массив temp после обработки функцией vrotebal.
То есть, при вызове функции vrotebal:
в p4 записываю p3
в p3 записываю p2
в p2 записываю p1
в p1 записываю p0
А в p0 пишу обработанный temp.

То есть должно получиться так, что в каждом p разные предыдущие значения temp. На первом скрине код. А вот на втором скрине то, что эта функция (vrotebal) делает.

Что это за ёбаная хуита нахуй?
984331984336
26 Кб, 957x588
29 Кб, 732x739
#259 #984327
Причем смотри, если мы перед тем, как в p записывать temp, сделаем join - функция работает корректно. В разных p - разные значения.
Это яваскрипт такой припижженный или браузер? Или может я чего не понимаю?
20 Кб, 660x986
#260 #984328
В firefox аналогичное пиздоблядство
#261 #984331
>>984326
Кинь код в тред.
Лучше на https://jsfiddle.net/ , заодно и сам там протести.
984333
88 Кб, 1921x1026
#262 #984333
>>984331
https://jsfiddle.net/p00Ldfx1/
Такое впечатление, что в p пишется не temp, а какие-то ссылки.
984345
#263 #984336
>>984326
дурко, ты ж перезатираешь, вот и не работает как хочешь))
984338
243 Кб, 700x395
#264 #984337
>>983612
В LTS-версию Node не завезли async/await, а настраивать webpack/babel я и так заебался уже пиздец. Не хочу им ещё и код серверной стороны ими обрабатывать.
Пока Промисами пользуюсь.
985777986687
#265 #984338
>>984336
Чебля?
984339984345
#266 #984339
>>984338
хуесос ты безмозглый, говорю))
984342
#267 #984342
>>984339
Хуесос твой батя. А деду твоему об его лысину хуй вытерал.
984346
#268 #984345
>>984338
то бля - сам подумай как оно работает
вот тут зачатки мыслей уже наблюдаются
>>984333
984347984350
#269 #984346
>>984342
Этот программистишка совсем порвался, замените.
984350
#270 #984347
>>984345

>этот быдлодегенерат уровня /зк


>сам подумай


Шутку понял.
Смешно.
984352
#271 #984348
>>984317
Нет, нужно чтобы менялся массив в аргументе а не создавался новый.
#272 #984350
>>984345
>>984346
Ммм... идите нахуй, пидарасы.
Я сюда помощи зашел попросить, а вы какую-то хуйню пишете.
984353
#273 #984352
>>984347
но ведь уже дошло, что там ссылка, осталось только понять какая и дело в шляпе
984354
#274 #984353
>>984350

>помощи зашел попросить


Помощь доставлена за щекой проверь
#275 #984354
>>984352

>но ведь уже дошло


Ебать ты оптимист.
Розовые очочки не жмут, э?
984359
#276 #984359
>>984354
надо верить в людей, подумаешь забыл про основы, с кем не бывает)
984374984392
#277 #984374
>>984359

>с кем не бывает)


Со мной, например.
#278 #984378
>>981132 (OP)
сап котятки, котонам респект
короче переустановил винду и при установке image-webpack-loader'а
такая шняга
https://jsfiddle.net/zv1djp4s/
кто нить сталкивался ?
27 Кб, 925x586
#279 #984390
Вот так работает. Можно как-то эту хуйню без slice сделать?
984400
#280 #984392
>>984359
Какие основы, люся? Я на js первый раз в жизни пишу.
984400
#281 #984397
https://karmazzin.gitbooks.io/eloquentjavascript_ru/content/chapters/chapter4.html#список
Кто-нибудь может мне объяснить эту хуйню?

>Это два независимых списка.


Почему они независимы, это ведь просто ссылки?

>при этом у них есть общая структура list, которая включает три последних элемента каждого из них


Почему три последних? Ведь объект {value: 0, rest: list} и {value: -1, rest: list} тоже будут в этом списке.
Че это за хрень вообще, кто-то может доступным языком объяснить? Я даже не пойму что от меня автор хочет.
984401
#282 #984400
>>984392
Это даже к самому js имеет опосредованное отношение. Такое впечатление что вообще первый раз в жизни кодишь.
>>984390
Ну вот, дошло?
Ты же просто ссылку на массив запихиваешь, а сам он у тебя выше один раз объявлен и ты его изменяешь, а так вак остальные на него ссылаются, то и там становятся таеие же значенич
#283 #984401
>>984397
Есть общая часть -лист. Мы ее в rest загнали в обоих случаях. Ну а лист у нас состоит из 3.
984517
#284 #984428
>>981132 (OP)
Господа фронтендеры, встал вопрос. Суть такова, написал бакенд с рест апи и даже набутстрапил шаблончик, теперь появилась нужда в каком нибудь простом жс фреймворке, чтобы дергать апи и выводить данные в мое охуительное spa. Так вот, есть ли простой фреймворк для этого? Чтобы безо всяких бейблов, вебпаков и т.п., просто подключаешь либу и ебашишь без задней мысли.
#285 #984429
>>984428
Вью))
984440
#286 #984437
>>984428
Простых нет. А зочем тебе спа, если ты уже на бэкенде накидал? или это пет-проджект?
984441
#287 #984440
>>984429
Vue ты имеешь ввиду? Так-то он вроде норм, но что тогда взять в качестве рест клиента?
986688
#288 #984441
>>984437
Это диплом на диплом в шарагу, жс это чисто для себя, просто не писал на нем особо, кроме простого сервера на ноде, хочу попробовать.
#289 #984448
Аноны, поясните плз, у всех функций по дефолту прототипом является window, но если создавать объект через Object.create(null), то прототип будет null (т.е его не будет). Всё верно?
984464
456 Кб, 1440x1917
sage #290 #984464
>>984448

>прототипом является window

984518
sage #291 #984496
>>981132 (OP)
Хочу предостеречь вас, жс это говно. Разбирать чужой код, ебашить свой это такая запара вы себе не представляете.
Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то.
Пока у вас есть время учитесь электрике, сварки, рисованию, а программирование уже не то, кодеров как собак нерезанных и хуй с ним свалишь за бугор если не гений (это не про двачеров).
С проектами на других языках получше обстоит дело, но тоже такое.
Хохлы и индусы демпингуют рынок, фриланс в 2к17 уже не работает.
Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе.
984698
#292 #984517
>>984401
Чет я всё равно нихуя не понял. Если какие-нибудь источники (ссылочки) где можно подобное более подробно изучить, разжевано.
984777
#293 #984518
>>984464
Что-то не так? Напомню тебе что я вообще в этом пока не разбирался. Откуда тогда у функций всякие методы вроде toString, apply, call, bind и тд и тп? По моей логике они берутся из глобального объекта window. Ну а как там на самом деле я не ебу, завтра почитаю.
984688
184 Кб, 335x506
#294 #984519
Что для стайлинга с реактом сейчас модно использовать? SASS/LESS?
Хочется на атомик-стуктуру кода, чтобы нужный стиль в определённый компонент.
984534984554985026
#295 #984526
Доброго времени суток, господа, в штыки не воспринимайте, но стал такой вопрос.
Вот я точно знаю, что на работке мне надо будет jQuery к джанге с питоном в дополнении. Понимаю, что по-хорошему, надо бы сесть и полностью выучить основы языка, но надо было уже вчера, как это бывает.
Короче, не обломлюсь я, если тупо прочитаю книгу из шапки по jQuery, или шансов понять с наскоку ноль ?
984688984700
#296 #984534
>>984519
Что хочешь, структура задается программистом, а не препроцессором. Stylus ебани.
#297 #984554
>>984519
илнайн цсс же
984691984898
sage #298 #984688
>>984526
JQuery проще учить чем жс. Проблема в том что нужно понимать как оно работает под капотом, с jquery этого узнать не получится.
>>984518
Все почти так. Только в виндоу хранятся эти самые прототипы, но сам виндоус не прототип.
984866
216 Кб, 1816x1624
#299 #984691
>>984554
До 380 раз проседают в сравнении с простыми классами, что касается UX. Тут как раз обсуждение идёт:
https://twitter.com/notwaldorf/status/859636431974739968

Ну и документ превращают в ебаную кашу, что касается DX.

Сам CSS имеет нормальные импорты, с HTTP2 больше нет поводов их не использовать. Кастом пропертис тоже охуенны и как раз дают тот самый контроль из JS. В веб-компонентах есть слоты и scoped-стили.

Вроде всё, что надо, есть прям искаропки, но всё это в удивительном мире, где нужно только эвергрины поддерживать, а мы же ебём мёртвых ослов.
Наверно лучший вариант сейчас — старое-доброе разделение реализаций по БЭМ с каким-нибудь пре-\пост-процессором.
985923
38 Кб, 757x278
#300 #984694
Аноны, помогите. Не могу въехать в задачу и решить ее.
984750
#301 #984698
>>984496
Мыкола будет получать 3500 и ссать тебе в рот.
984870
#302 #984700
>>984526
Поделай отсюда все упражнения-примеры по порядку:
https://www.w3schools.com/jquery/default.asp

Ну и в документации оглавление посмотри, чтоб знать, где копать, если что.
http://api.jquery.com/

За день можно осилить. Если заказчик понимает, что лично ты не сениор-жиквери-плагин-интегратор, то такого должно хватить для начала.
984866
#303 #984730
Ребят, срочно нужна ваша помощь. Что мне делать? Дальше изучать JS(осталось ровно половина курса) или начинать изучение C#? Проблема в том, что я не могу решиться, то ли довести дело до конца и приступить к новому, то ли не мучить себя и начать заниматься интересным мне(в данный момент) делом?
984738
#304 #984731
Кто-нибудь может объяснить на замечательном примере, для чего нужны промисы? Я не то, чтобы опытный JS кодер, но норм знаком с шарпами. Уже пол года юзаю JS, но мне ни разу не попалось случая, где промисы были бы лучше кэллбэков.
984774
#305 #984738
>>984730
Иди занимайся тем, что интересно. Глупо тратить время на остальное, жизнь итак коротка
#306 #984750
>>984694
https://habrahabr.ru/company/everydaytools/blog/322980/

Нет разницы, какие ты там курсики будешь дорчить, пока единственный выхлоп от них — время, проведённое по какому-то сценарию. Будь то коридоры в игре, серии в аниме или уроки в курсах — разницы нет.
#307 #984774
>>984731
Допустим тебе надо:
- Получить данные из хттп запроса
- Сделать запрос к базе и убедится, что там нет нужного
- Создать в базе новую запись
- Получить из базы все записи
- Отрендерить их

С коллбеками будет лапша.
#308 #984777
>>984517
бамп
984824
#309 #984824
>>984777
Ну что ты бампаешь - это просто на "представить" задача. Какие ссылочки. Если хочешь - приду через пару часов с работы, нарисую даже тебе, может понятней будет
984874
34 Кб, 1306x908
59 Кб, 1920x1376
#310 #984831
Посоны, чисто дизайнерский вопрос!
Надо на страничке нарисовать дерево. Есть два варианта:
1. Разбить страничку на верхнюю и нижнюю область (первая пикча). В верхней части дерево. В нижней (онмаусовер на узел в дереве) описание выделенного узла. Минусы - горизонтальная прокрутка уже на 1280. Нижняя часть тож где-то совсем внизу.
2. Разбить на левую и правую часть. В левой части дерево развернуть на 90°. В правой описание. В правой части много места, но в левой дерево не влазиет полность в экран и хош-не-хош вертикальная прокрутка будет.
Какой вариант менее говнист?
984833984882985069
#311 #984833
>>984831
второй
984839
#312 #984839
>>984833
На втором не очень понятно, что это дерево.
#313 #984852
https://learn.javascript.ru/new-prototype#прототип-после-создания
Как эти прототипы понять вообще можно? Вот например первое же задания. В первом коде true, вроде всё понятно. Во втором тоже true т.к Rabbit.prototype меняет прототип уже после того как один экземпляр был создан. А ВОТ в третьем задании по какой-то причине false... как это понять вообще? Сказано же что prototype меняет свойство __proto__ для новых объектов. Так с чего вдруг оно поменяло прототип объекта даже после того как он был создан? Да и в последнем варианте кода тоже почему-то undefined хотя СНАЧАЛА в коде создается объект, и только после этого КОНСТРУКТОРУ указывается удаление из свойства-объекта prototype какого-то другого свойства.
984857984862
#314 #984857
>>984852
Ну все правильно. Rabbit.prototype указывает на объект { eats: true }.
var rabbit = new Rabbit() устанавливает свойство __proto__ указывать на этот объект.
Затем меняют одно из свойств объекта, но сам-то объект остался тот же самый. Тут не в прототипах дело, а в том, что ты ссылки на объекты не понимаешь
984940
#315 #984862
>>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.

Так понятней?
984871984940
135 Кб, 731x533
#316 #984866
>>984688
Надеюсь, что для начала хватит, а потом уже разберусь.
>>984700
Спасибо, а книга в шапке там еще от некоего Дарк Лорда лол годнота, или не стоит обращать внимания ?
sage #317 #984870
>>984698
салом не подавись, курва.
Мыкола будет получать за щеку, вот это вполне вероятно.
985918
#318 #984871
>>984862
Спасибо, щас ещё раз всё обдумаю и попробую дальше задания поделать. Я почему-то не думал о том что это именно ссылка на объект, думал что __proto__ у новых созданных объектов будет как-то скопировано. Получается что если мы наделали дохуя объектов, а потом прописали конструктору другой prototype, то у всех этих созданных объектов свойство __proto__ тоже поменяется?
984873
#319 #984873
>>984871
Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.
Тебе бы почитать сначала про указатели что-нибудь, на мой взгляд, это самый верный способ понять объекты.
984879984940
33 Кб, 526x313
#320 #984874
>>984824
Смотри, в книге той и так нарисовано было, но только изначальный лист.
Вряд ли конечно это лучше. Но вдруг.

Два списка:
1) зеленый
2) красный

У них есть общая структура из трех элементов - синий кружок
Собственно эта общая структура и есть наш изначальный список - list.
984961
#321 #984879
>>984873
Я хз почему Кантор об этом нихуя не пишет и сразу задания какие-то даёт.

>


Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.

Для меня пока вот это крайне сложно понять. Все задания которые были - там просто ссылка на объект либо обычные значения которые просто перезаписываются и всё.

Пока всё что я понял это что при создании функции из свойства prototype конструктора копируется ссылка в новые объекты которые создаются им. При этом если изменить Rabbit.prototype.eats то будет изменен тот же самый объект поэтому изменения произойдут во всех объектах созданных конструктором. А если функции-конструктору присвоить новое свойство prototype, то уже созданные функции оно не изменит, ибо в них ссылка на другой объект (который получается должен сохраниться где-то в памяти, но доступ к нему напрямую получить уже нельзя, ибо из prototype конструктора он был удалён, только если по отдельности у каждого объекта менять).
984880984881
#322 #984880
>>984879

>Если prototype стал указывать на другой объект, то нет, __proto__ у уже созданных объектов не поменяется. Смотри, че происходит при создании: берется ссылка, лежащая в prototype, копируется и копия записывается в __proto__. Не объект по этой ссылке копируется, а именно сама ссылка копируется.



*фикс
#323 #984881
>>984879
Нарисуй себе связь на листочке при создании/изменении.
984904984940
#324 #984882
>>984831
бамп
11 Кб, 320x180
#325 #984898
Блджад, я что-то не понимаю в структуре редукса.
Вот есть контейнер App, с двумя компонентами/контейнерами Page1, Page2 внутри.
Сначала писал отдельные экшены/редьюсеры для Page1/2, без оных у App.
Залип когда понадобилось нажатием на кнопку в Page1 триггернуть изменение в Page2. К какому компоненту это действие должно относиться?

>>984554
Импортинг класс неймов из .css?
Попробовал уже, дропнул из-за того все классы тогда нужно из .css маппить.
#326 #984904
>>984881
Да я вроде на словах как-то лучше понимаю, хз даже. Попытался в предыдущем посте объяснить свое понимание, вроде бы всё правильно. Иногда во всяких схемах из зарисовках можно что-то нарисовать по незнанию что в действительности в коде работает не так.
#327 #984913
>>984898
Нажатием на кнопку ты диспачишь экшн, на который среагирует тот редьюсер, который тебе нужно
45 Кб, 187x168
#328 #984918
>>983381
Мне необходимо сокращать длину этой дуги в зависимости от некоторых параметров. Это должен получится SkillCheck из Dead By Daylight (пикрилейтед), в зависимости от одного параметра длина успешной зоны должна становиться меньше.
#329 #984929
https://jsbin.com/regodunaxi/edit?js,console,output - попытался создать функцию которая делает reverse массива (да я знаю что есть стандартный метод), но что-то не выходит нормально. Мне нужно чтобы менялся исходный массив. Что не так я делаю? запутался совсем =(
#330 #984940
>>984857
>>984862
>>984873
>>984881

Вот братишка, разобрал одно задание и как раз написал как это всё работает. https://jsbin.com/qazakadoco/edit?js,console,output
253 Кб, 1280x1024
#331 #984941
пацаны есть класс который добавляет в нужное время в нужное место html
https://jsfiddle.net/bxx94x6b/
конкретно
строки 48 -> 59
так вот, почему то не появляются псевдоэлементы у инпутов
пик
где я проебался ?
985470
#332 #984961
>>984874
Спасибо братишка. Я просто в целом не понял что {value: 0, rest: list} и {value: -1, rest: list} это два других объекта которые просто имеют ссылки на эту структуру и думал что это какие-то тоже вложенные объекты.
#333 #984987
Как в цикле по коментам присвоить каждому коменту уникальный id ?
984998
#334 #984996
Котаны, доступ к камерам на Андроиде/iOS на сайтах ведь не получить? Да, я не ошибся тредом.
Можно ли получить доступ к камерами на мобильниках из-под сайтов?

И насколько iPhone и Android поддерживают PWA?
#335 #984998
>>984987
commentsArray.map((comment, index) => {
comment.id = index;
});
985016
#336 #985016
>>984998
А еще лучше uuid поставить и генерить айдишник.
#337 #985026
>>984519
нахуй эти препроцессоры! пиши на ванильном css3, подключи постпроцессор какой нидь, подруби автопрефиксеры и не еби мозги. И да можешь инлайн стили для простых стилей без наворотов.
985057
#338 #985031
>>984898
изменения на нажатие в page1 должен мутировать глобальный state ридакса. в свою очередь page 2 должен слушать ту часть глобального state-а, которую нужно. для прослушки отдельной части глобального state поможет компонент высшего порядка connect из либы react-redux. вот и все махинации. напрямую page1 и page2 не должны общаться. только state-ы и только props-ы, без свистоперделок и выебонов.
985040985611
#339 #985040
>>985031

>должен мутировать глобальный state ридакса


ясно-понятно

мимо
#340 #985057
>>985026
аргументируй, как мне юзать фичи того же sass типа амперсанда для БЭМ или @extend или @function
я постоянно использую много фич того же sass
26 Кб, 700x467
#341 #985069
>>984831
Всю ночь пытался настроить CSS и JS, чтобы корректно отображалось дерево. Каждый час просыпался водички попить
985082985104
#342 #985082
>>985069

>настроить JS


Это как?
#343 #985101
Как же я ржу с местных "программистов"-фронтендеров.

Мимо сишарпогосподин.
985106985107985110
#344 #985104
#345 #985106
>>985101

>Как же я ржу


Как? Запиши и выложи.
#346 #985107
>>985101
Что важнее, быть уверенным, что ты ТРУ и ржать с "программистов" или зарабатывать $300 000 в секунду?
985111985112
#347 #985110
>>985101
а чего тебе ржать то ? Любую сумму поставлю, что я решу любую задачу как академическую так и прикладную на python/js/C лучше чем ты
985113985114
#348 #985111
>>985107
Много уже заработал?
985116
#349 #985112
>>985107

>$300 000 в секунду?


Уроки-то сделал?
#350 #985113
>>985110
Что ты подразумеваешь под "лучше"?
985121
#351 #985114
>>985110

>я решу любую задачу


Задача коммивояжера.
Решай, время пошло.
985117985122
#352 #985116
985119
#353 #985117
>>985114
Решил тебе за щеку. Проверяй
985118
#354 #985118
>>985117
Проверил, твои 12 см не обнаружил.
Перерешивай.
#355 #985119
>>985116
Пруфы?
#356 #985121
>>985113
чистота/поддерживаемость/горизонтальная масштабируемость кода по версии местных кукаретиков
хочешь давай гитхабами просто померяемся
985122985126
#357 #985122
>>985121 - >>985114
То есть ты слился, ясненько.

>гитхабами


Свалка твоего говна не интересует.
985125
#358 #985125
>>985122
а ты, соревнования заключается в кросс реализации глупый

> То есть ты слился, ясненько.

985128
#359 #985126
>>985121

>давай гитхабами просто померяемся


Ты первый. Только пруфануть не забудь.
#360 #985127
сап яневерстальщики подскажите как бы мне через + прописать стили для :after
есть струкрута типа такой
.input__wrapper>.input__field
у .input__wrapper есть :after который должен меняться при фокусе .input__field как бы такое организовать ?
985129
#361 #985128
>>985125

>этот мелкобуквенный дегенерат


JS as is.
985132985134
#362 #985129
>>985127
Иди нахуй.
985131
#363 #985131
>>985129
че бомбишь то ?
985134
#364 #985132
>>985128
у лалки кончились аргументы, лалка пишет про мелкобуквенность
ну ты и дитятко
985134
#365 #985134
#366 #985136
Вместо того чтобы сраться, лучше давайте обосрем мое тестовое на джуна ангулярщика:
Поклацать: https://vasilenkoalex.github.io/test-app-for-empeek1/index.html#!/home

Посмотреть исходники :https://github.com/VasilenkoAlex/Test-application-for-Empeek (тут же в ридми задание).

Естественно меня не взяли с обоснованием: "разделяет на мелкие компоненты - бесполезно. Модули не умеет использовать, но воообще видно что по стайл гайду джона папы".
Давал на ревью перед отправкой знакомому мидлу - сказал на четыре из пяти, мелкие компоненты збс, расширяемость все дела, кто прав?
#367 #985142
>>985136
Лучше скажи, где нашел партнеров для гитхабского штурвала (когда друг друга фолловите и звездочки ставите).
985148
#368 #985148
>>985142
Я плохо умею в сарказм, это плохо?
Это мои полтора друга.
985150
#369 #985150
>>985148

>друга


Съеби, социоблядь.
985153
#370 #985153
>>985150
Блять, у меня три звезды, давай я тебе поставлю и у тебя будет всё заебись?
985158
261 Кб, 1768x815
#371 #985156
Анон, который отвечал мне 2 года есть здесь до сих пор? Отзовись! Интересно, как у тебя сейчас дела?
985159
#372 #985158
>>985153
У меня нет аккаунта в социальной сети "гитхаб", я же не социоблядь.
#373 #985159
>>985156
Иди нахуй, утомил уже.
#374 #985173
А где бы взять задачек или упражнений для тренировок циклов и условных операторов нубу? Я пока сам принцип понял массивов, объектов, if/else, while и for. До функций не дошел и учить не буду пока не потренирую пройденное. Что из этого можно, так сказать, скрафтить? В книге JSFK есть задачка сделать игру в слова, но я хочу еще.
#375 #985239
>>985136
Не знаю ангуляр и в принципе лень читать твои сырцы, но вот с этого

>разделяет на мелкие компоненты - бесполезно


просто дристанул. Вангую, что ты только выиграл, не попав в подобную говноконтору.
985243
#376 #985243
>>985239
Ну, может я на совсем уж мелкие компоненты поделил, хотя конечно очень вряд ли.
985382
38 Кб, 804x983
#377 #985361
Посоны, чому евент листенер не ремовится?
Если кликнуть на div, срабатывает функция onclick="addevent();" и к канвасу добавляется евентлистенер, который передает в функцию funct координаты мыши, а та в свою очередь рисует квадратик на канвасе. Если еще раз кликнуть на div - должен удалиться евент листенер и квадратик остаться в том месте, где кликнул. Но евент листенер не удаляется. Чому? Вот тут код: http://jratva.com/test.html
985363985366985368
#378 #985363
>>985361
у тебя хоть в ту ветку которая после else, программа заходит? Чет не понял условия.
985367
#379 #985366
>>985361
Разобрался.
#380 #985367
>>985363
Заходит. Там ошибка была в том, что funct создается я в addevent и поэтому считается как-бы другой функцией, не той, что передана в еддевентлистенер.
#381 #985368
>>985361
Кстати, нет смысла писать в if (x==false), если у тебя переменная х подразумевает только булевые значения, то пиши if (x)
985372
#382 #985372
>>985368
Ну да. Я там дикий тупняк словил, когда написал if(!x) - не понятно, что там в ифе происходит и в какую ветку залазием. Начал расписывать. if (x!=false) - так нагляднее
#383 #985382
>>985243
Я всегда пользуюсь простым правилом, чтобы определить, нужно ли разбивать компонент на несколько: нужно = позволит избежать дупликации кода || имеет смысл с точки зрения предметной области
#384 #985389
Я пхпшник, но вынужден работать версталой. Я не могу понять как на клиентской части мне писать в ооп стиле? Я все в функции пихаю и горожу бороду из ифов.
Мне просто больно вместо няшных классов делать объекты или о боже прототипирование. Я даже функцию из родительской функции вызвать не могу. А в пхп бы просто класс создал и вызвал из него метод. Как же я ненавижу жс
985397
#385 #985397
>>985389

>версталой


При чем тут жс?
Для таких, как ты, уже сто лет как завезли ES6-классы
985401
#386 #985401
>>985397
Это что за классы? Я пишу сложную анимаций, адаптацию на жс.
985406
#388 #985407
http://jsraccoon.ru/es6-classes

Просто слезы на глаза наворачиваются от "ооп" на жс.
пхпшик изнасилованный жсом
985410
#389 #985410
>>985407
А что не так-то? Тебе привата так сильно не хватает? Расслабься, это у всех так поначалу
985414985424987042
#391 #985419
>>985414
А методы ты как приватить будешь? Все будешь в конструкторе нахуяривать?
985420
#392 #985420
>>985419
а нахуя их приватить то? Просто неиспользуй их и все долбоеб.
985421985423
#393 #985421
>>985420
именно
#394 #985423
>>985420
Я блять и не собирался нихуя приватить, это ты тут начал выступать про приват в жс. Еще и обзывается почем зря
#395 #985424
>>985414>>985410
Но это убожество какое-то, у меня глаза вытекают, какие-то зис вместо публичных методов, дефолта приватные функции. И главное меня еще и упрекают что я видите ли не пишу ооп на их уродском функциональном жаваскрипте.
#396 #985426
>>985424
ржу с пхп дауна кек
#397 #985430
>>985424
Поверь, пройдет месяц и ты прозреешь. Алсо, ООП уровня жабы с абстрактными синглтонами фабрик фасолин в жс никто не пишет. Используй объекты там, где они естественны, а где естественны функции - используй функции, и все будет хорошо.
985457
#398 #985441
>>985424
да нет никакого ооп в жс имбицилы, учитесь в прототипы
#399 #985454
бля пацаны как вы фрилансите ? У меня с предыдущей галеры 3 сайта в awwwards.com выставлены
дизайн + пр
начитался охуительных смотрю fl.ru -> ебать, 20 тысяч за сайт под ключ с современным дизайном там обычно работы на два - три месяца на галере я бы под 200 получил за ту же работу
985458
#400 #985457
>>985430
я хуй знает, какие там объекты в фронтенде можно лепить? типа объект "анимация скроллбара" и в нем клик методы?
мне вообще сказали нахуярить функции как в Жаве или сишарпе по событию. Отдельно функции на клик, отдельно на хувер, отдельно на скролл. Но они в такую лапшу разрослись, что яебу так комбинировать.
985465985504
#401 #985458
>>985454
фриланс задемпингован индусами, школьниками, инвалидами и бомже-студиями из мухосраней, не рекомендую.
#402 #985465
>>985457
попробуй RxJS или еще какую реализацию observable
985506
#403 #985470
объект сколлбар
типа как у этого >>984941
#404 #985504
>>985457
Ну правильно тебе все сказали. События - самый удобный способ управления control flow, и главное - технологие- и языконезависимый. А в лапшу оно разрастается, потому что ты размазываешь стэйт по всему коду, а надо держать в одном месте. Гугли redux
#405 #985506
>>985465
Пояснить за rx можешь?
Вот я посмотрел на redux-observable, который собственно rx использует.
Не зашло как-то. На генераторах в redux-saga работать с сайдэффектами мне лично было поприятней
Ну и по звездам уступает, куда ж без них.

Расскажи про профиты, сильные/слабые стороны из опыта если можешь.
986145
#406 #985529
некогда мне ваш редакс ковырять. мне помимо работы еще хочется своими проектами позаниматься, а не учить очередной йоба фреймворк/технологию
985537
#407 #985537
>>985529
Ну тогда ебись с локальными стейтами, нахуяривай регистри, заслуженно получая по ебалу каждый раз, когда забудешь вызвать какой-нибудь update или notify
985558
#408 #985548
я вкатываюсь в реакт, поясните в двух словах, как он берет данные, например, из апи!!

допустим есть апи сервиса погоды (который отдает json файл, больше я пока про апи ничего не знаю(, я так понимаю, с помощью реакта оно парсится и передается в компоненты, а там уже идет их рендер, верно?
985549985583
#409 #985549
>>985548
Неверно.

1. Уверен, что api отдает именно json-файл, а не просто json-объект?
2. React - это библиотека для наебенивания вьюшек. Какие именно проперти ты будешь ему подсовывать, откуда ты их будешь брать, как ты их будешь использовать - это твоя проблема, а не реакта. Так что с помощью реакта ничего ни вот что не парсится.
3. Получать свой json можешь, например, fetch-ем. Как парсить - а я ебу? Как данные в json упакованы, так и парсить, я откуда знаю, что тебе там надо.
#410 #985558
>>985537
ты о чем вообще? я клиент делаю. фронтенд
#411 #985583
>>985548
да, спарсил джсон и распихал по пропсам
45 Кб, 168x182
18 Кб, 209x537
#412 #985611
>>985031
Нихуя не понял.
Всё у меня хранится в сторе редукса, константы(ну, типы экшенов)/экшены/редьюсеры разделены на 2 компонента.
И вот как мне их взаимодействие организовывать? Вариант который я вижу: экшн "отправляющего" компонента диспатчит действие определённого типа, а редьюсер "принимающий" реагирует. Но тогда будет константа, относящаяся к обоим компонентами, что как мне казалось неправильно.
985655
#413 #985617
>>984898
Вот пидарас блять, кнопочки он в редаксе нажимает блять
А диспачить кто будет?Экшоны тебе накой?
Ты редьюсеры для мамки своей писал?
985619
30 Кб, 576x360
#414 #985619
>>985617
Жалко что я даже не могу понять твой баттхёрт.
К тому же я действительно пидор.
985727
#415 #985641
>>985136
Вчера сдал такое же задание на проверку. Вот уж не думал, что конкурента на двачике встречу.
985642
#416 #985642
985769
#417 #985655
>>984898
>>985611
Какой же ты тупой
#418 #985727
>>985619
ты из хохляндии?
#419 #985769
>>985642
Мда уж, офигеть конечно мы по-разному с тобой сделали, несмотря даже на то что ты вебпак прикрутил. Мб у меня опыта не хватает, но почему ты сделал так, как сделал? нгредакс, куча стейтов, куча ооп или хз что это? Какой бекграунд у тебя? Не забудь запостить сюда их фидбек.
985795
#420 #985777
>>984337
Юзай бабель или страдай.
#421 #985795
>>985769

>нгредакс


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

>куча стейтов


Из-за редакса, пробрасывание его стейта в качестве параметров компоненту.

>куча ооп


Прост чтоб показать, что я могу в использование ес6 классов с ангуляром.

>вебпак прикрутил


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

Фидбека ещё нет, мне дали срок до 5 числа, думал, что у всех так, а потом уже будут проверять все сданные задания.

Бэкграунд - около полутора лет работы с жс, чуть меньше года работы с фреймворками.
985814
#422 #985814
>>985795

>нгредакс


А то что у тебя роутинга нет? Тип назад/вперед не понажимать, что по этому поводу думаешь?

Плюс еще если в комментах запостить длинный текст без пробелов - вылезет за границы бокса, есть збс свойств цсс - оверфлоу-врап.
985817
#423 #985817
>>985814
Там роутинга нет по заданию, одна страница. Вообще неплохо было бы сделать и другую, чтобы, опять же, похвастаться, но мне впадлец стало. Или ты имел в виду синхронизацию стейта и браузерхистори?
А с текстареа проебался, да.
985822
#424 #985822
>>985817
Ну, насчет роутинга там просто ничего не сказано, но по идее в любом спа ты должен иметь возможность вперед/назад в браузере нажимать и осмысленные урл кидать, имхо лучшеэтим выебываться чем вебпаком.

Нашел у тебя кайнд оф баг, который у себя иксил - создаешь допустим 10 айтем. Потом удаляешь первые девять, а если открыть комменты бывшего десятого заново - всё еще будет будет надписьь "комментс #10
"
985823
#425 #985823
>>985822
Согласен насчет роутинга, но уже поздно.
А это не баг, каждому айтему присваивается уникальный айди, который и выводится в заголовок панели с комментариями, а не его порядковый номер.
985830
#426 #985830
>>985823
Но тогда если расценивать это как реальное приложение - у тебя айдишник никогдане обнулится и через год "использования" этого аппа я буду создавать итем с миллиоными номерами, вроде не очень клево.
985835
#427 #985835
>>985830
От использования зависит же. Если это crm для мелкой компании, где документация не играет особой роли, то можно было бы и обнуляемые сделать, наверное. А в серьёзных компаниях идут на такую жертву. Видел, сколько цифр в номере накладной в Новой Почте, например?
985839
#428 #985839
>>985835
Да, вероятно ты прав
#429 #985862
какие "проекты" можно сделать, если целюсь в реакто-джуниоры? стоит ли юзать редакс или без него?
985868985872985884
#430 #985868
>>985862
redux обязательно. это основная приблуда реакта.
#431 #985872
>>985862
Проекты юбые, какие придумаешь или найдешь идею.
Для стейт-менеджмента есть redux и mobx. Redux популярней и можно сказать выбор по умолчанию.
НО
Прежде чем что-то использовать или добавлять ты должен понимать для чего оно тебе надо. Без этого будет возникать лишняя куча вопросов и не будет нормального понимания. А без понимания получится жалкое зрелище, а не код.
Дерзай.
985874
#432 #985874
>>985872
любые

селффикс
#434 #985900
>>984428
Нахуя тебе фреймворк(значение знаешь?) для дерганья апи? Ебашь полифил для fetch и в путь
#435 #985902
Посоны, тег table (td, tr) сейчас используют? Или это позапрошлый век?
985904985906985912
#436 #985904
>>985902
Недавно переделал флексопедерастию дивами на одном прожекте на ламповую таблицу, потому что лучше и удобнее таблиц ничего нет.
985950
#437 #985906
>>985902
Напоминаю, что HTML изначально был предназначен для описания документа, а не его внешнего вида.
Ключевое слово "table" это значит таблица и ничего больше, и браузер должен и обязан (вроде как, хехе) понимать это дословно, т.е. в точности так, как написано.
Ключевое слово "table" не значит вёрстка, Web 1.0 и прошлый век.
#438 #985912
>>985902
для табличных данных
#439 #985914
>>984428

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


Обмазаться жиквери не пробовал?
#440 #985918
>>984870

>Мыкола будет получать за щеку, вот это вполне вероятно


Ему будут доплачивать за принятие, не забывай.
А всё, что будешь принимать ты, это обоссаный мамкин борщ.
#441 #985923
>>984691

>манипулировать инлайнед цсс


Ебать дибилы.
#442 #985924
>>983965
>>984225

>angular 1.5

#443 #985950
>>985904
Фу, какой извращенец.
#444 #986039
Смотрите какая ситуация. Я пишу на сях и крестах, но мне нужно сейчас написать небольшую игру на джаваскрипте. Где можно найти шпаргалку по всем основным языковым элементам, чтобы держать ее в параллельной вкладке? Не хочу читать учебники, где учат программированию.
986052
#445 #986052
>>986039
Secrets 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.

26 Кб, 700x467
#446 #986076
Посоны, я таки дописал ту хуйню >>978942
986090
#447 #986090
>>986076
поздравляю
#448 #986145
>>985506
вкусовщина же. Пояснить могу но он http://stackoverflow.com/questions/40021344/why-use-redux-observable-over-redux-saga
сделал лучше
rx пытается унифицировать работу с евент драйвен программированием
812 Кб, 960x960
#449 #986461
Возможно ли осилить JS на достаточном уровне, за 3-4 месяца интенсивного изучения, каждый день, по 5-6 часов, для того чтобы начать на нем хоть что-то зарабатывать? Первый мой язык программирования, раньше только дизайнил/верстал.
986469986975
#450 #986469
>>986461
Нет. Только до уровня создания простейших слайдеров. Для зароботка - как минимум месяцев десять в таком режиме.
986488
#451 #986488
>>986469
ой не пизди
#452 #986535
Имеется ли конфа данного треда в дискорде? а то этот телеграм просто смех ебаный.
51 Кб, 850x301
#453 #986544
Пиздец я поплыл на этих прототипах, вроде всё понятно было до того момента когда автор начал добавлять новый метод в стандартный прототип строк и показал данный код (пик). Вообще чет нихуя не пойму.

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) сразу возвращает готовую "утроенную" строку?
986552
#454 #986552
>>986544
Не этот же самый массив, а строку, в контексте которой вызывается метод repeat
986556
73 Кб, 887x393
#455 #986555
И ещё вот кое-что не понял. Почему создавая метод напрямую как Object.create то он будет доступен из экземпляров (объектов)? Ведь экземпляры получают прототип из Object.prototype т.е из СВОЙСТВА конструктора, а не из конструктора Object напрямую.
986560
#456 #986556
>>986552
Уже вроде разобрался немного. Но вроде this в этот момент является объектом, в который (куда-то) записывается это строка. Так как можно использовать полностью сам объект String в join? Пусть даже в нём внутри хранится эта строка в виде примитива, почему тогда вызов не через this.value например, где value то свойство в которое записывается наше "ля" при вызове конструктора. Как-то пиздец странно.
986559
#457 #986559
>>986556
Я нихуя не понял, о чем ты.

Внутри функции this может принимать либо значение window / undefined (в зависимости от того, включен ли strict mode) в случае, когда функция вызывается сама по себе, либо значение объекта, в контексте которого происходит вызов.
func() { тут this = window / undefined }
obj.func() { тут this = obj }
986659
#458 #986560
>>986555
Метод Object.create как раз НЕ будет доступен из экземпляров
986661
#459 #986615

>Computer & Programming fundamentals


Ничего не ясно с этим требованием, что спрашивать будут?
#460 #986659
>>986559
Когда вызываешь метод на строке, то строка временно оборачивается в объект к которому и применяется этот метод, потом результат возвращается а временных объект удаляется. Именно этот временный объект и является тем this в аргументе .join. Но как так получается что что this в join превращается в строку ля, ведь возвращается именно этот временный объект-обертка.
986713
#461 #986661
>>986560
Я наверное непонятно выразился сорян. Кантор пишет - "Допустимо изменение прототипа встроенных объектов", а пример кода (который ниже на скрине) изменяет не прототип встроенного объекта, а просто назначает конструктору Object новое свойство. Прототип Object.prototype здесь никак не был задействован.
986713
#462 #986687
>>984337
Так напиши свою функцию работающую на генераторах, аналогичную async/await, она очень простая.
#463 #986688
#464 #986713
>>986659
Очевидно, потому, что join использует строковое представление своего аргумента.
>>986661
Ну и в чем тогда проблема?
986916
20 Кб, 771x305
#465 #986809
Ну что я снова делаю не так?
986820986823
#466 #986814
Ребят, срочно нужна ваша помощь. Что мне делать? Дальше изучать JS(осталось ровно половина курса) или начинать изучение C#? Проблема в том, что я не могу решиться, то ли довести дело до конца и приступить к новому, то ли не мучить себя и начать заниматься интересным мне(в данный момент) делом?
986818
#467 #986818
>>986814
Уже отвечали, занимайся тем, что нравится
#468 #986820
>>986809
concat
986821
#469 #986821
>>986820
Не понял. Зачем? Это же строка.
29 Кб, 919x210
#470 #986823
>>986809
У тебя result - строка, какого хуя ты пытаешься что-то в нее записать через bracket notation? Так не работает, через скобки можно читать значения из строки, но не записывать.
986840
22 Кб, 667x315
#471 #986840
>>986823

>какого хуя ты пытаешься что-то в нее записать через bracket notation? Так не работает



>через скобки можно читать значения из строки



Ну, я подумал, что все-таки можно и записывать по аналогии с массивом. Не помню, может, где-то раньше в главе про строки такое и говорилось, но сейчас вы мне действительно новость сказали. Сейчас вот все хорошо работает и без concat, хз зачем усложнять.
986842
#472 #986842
>>986840
Я серьезно, не помню в книге такого нюанса. Запишу это в тетрадь в конспект. Спасибо.
986846
55 Кб, 764x684
#473 #986844
Понимаете, раньше работающие аналогии я уже замечал. Например, хотя в книге .slice(x,y) рассматривался пока только в контексте строк, он вполне применим и к массивам. Я просто попробовал так сделать, и получил новый порезаный массив. Вполне мог неправильно запомнить вывод из этого как "вся эта хрень работает одинаково и там и там".
#474 #986846
>>986842
Строка это строка, а массив это массив. Юзай charAt чтоб не путать, или просто хардкорно запомни. А так обращайся чо.
#475 #986916
>>986713

>Очевидно, потому, что join использует строковое представление своего аргумента.



Т.е когда объект String передаётся в join, то срабатывает его метод .toString передающих строку? Как-то хуй знает.

>Ну и в чем тогда проблема?


Ну в том что речь идёт об изменении ПРОТОТИПА встроенного конструктора, а в коде меняет не прототип.
986919
#476 #986919
>>986916

>Т.е когда объект String передаётся в join, то срабатывает его метод .toString передающих строку?


Ничего там не "срабатывает", просто функция join написана таким образом, что перегоняет переданный аргумент в строковое представление. arg = String(arg) или что-то такое.
987362
#477 #986975
>>986461
Да. Если ты верстала с опытом, то можешь очень быстро закатиться.
#478 #986977
Что по вебпаку можно почитать, чтобы быстро вкатиться?
986992987021
#479 #986992
>>986977
документацию
987056
#480 #987021
>>986977
Хуйня вопрос, делай следующее:
- ставишь на комп npm и ноду
- ставишь бабел и пишешь бабелконфиг
- ставишь вебпак и вебпак-мерж
- заебениваешь два скрипта для нпм, чтобы один собирал под дев, второй под прод
- пишешь основной вебпаковский конфиг с настройками, которые должны применяться и к дев, и к прод сборке
- пишешь два специальных конфига под дев и прод, подцепляешь их при помощи webpack-merge и NODE_ENV
- в базовом конфиге: рантайм-зависимости, правила резолвинга модулей и файлов, бабель-лоадер
- в деве: настройки для вебпак-дев-сервера
- в проде: правила битья кода на чанки, углифай, критикал сиэсэс
Отсос браузерифай + галп + бабель-кли + моча + говно, которые сосут хуй по жизни, тебе обеспечен, и уже через полгода ты будешь изучать такие дозы фреймворков, что maven будет тратить часы на сборку проекта, увидев размер твоего node_modules
987042987056
#481 #987042
>>985410
На так есть же модули, сам решай что экспортировать. Не экспортированные функции и будут действовать как приватные методы.

>>985424

> функциональном жаваскрипте.


Функцию в функцию передать ты и в PHP можешь, ровно как и вернуть функцию из функции. Но это ведь не делает его функциональным, ровно как и JavaScript.

>>987021

> ставишь на комп npm


Дед, пора уже yarn ставить.
987057
#482 #987056
>>986992
Ты про оф документацию? Я читаю, но пока ничего не понимаю.
>>987021
Я ничего не понял из того что ты написал.
987060
#483 #987057
>>987042

>Дед, пора уже yarn ставить.


Я не дед, я ньюфаня во фронтенде, поясни за ярн, какие преимущества он сможет мне дать? Юзаю npm для 1) установки пакетов; 2) запуска скриптов, никаких других пожеланий к нему не возникало
#484 #987060
>>987056

>Ты про оф документацию? Я читаю, но пока ничего не понимаю.


Так потому что надо не читать, а делать что-то. Начни писать хотя бы тот же остоебенивший туду-лист со связкой react + redux, и сразу же добровольно-принудительно познакомишься с кучей полезностей.

>Я ничего не понял из того что ты написал.


Да я шуткануть вообще пытался, скрестив две известные пасты про кодерство
987065
#485 #987065
>>987060
Я делаю, но я не понимаю как делать. Вот например, у меня есть файл index.js который я подключаю в мой index.html. Как мне к index.js подключить react и react-dom? Я так понимаю что мне в entry нужно что прописать, но не понимаю что.
987070987079987085
#487 #987072
>>987070
Спасибо за ссылку, но бы быстро разобраться с основами, а не подкасты смотреть.
987073
#488 #987073
>>987072
но мне бы*
#489 #987079
>>987065
Значит, смотри.

1. react, react-dom, любые другие библиотеки и вообще любой js файл можно подключить в другом js файле при помощи импорта.
Вот тут почитай про ES6-модули, import, export, все такое: https://learn.javascript.ru/modules

2. Но хуй там плавал, ни один броузер до сих пор не поддерживает из коробки эту залупу, поэтому тебе придется поставить транспайлер, который будет всякие ништяки из 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/
987080
#490 #987080
>>987079
Спасибо, анон, выручил.
#491 #987085
>>987065
Раз уж я сегодня добрый, можешь глянуть тут мой вебпак-конфиг, чтобы, смотря на него, написать свой и разобраться: https://pastebin.com/6mvjg70J
#492 #987093
Джава-господин вкатывается во фронтенд. На выбор два стула, реакт и ангуляр. Напарник-фронтендщик намекает, что реакт попизже будет, дескать попроще, аргументов уже не помню.

На ангуляре уже был написан MVP проект и скоро будет сдан заказчику.

Что понравилось в ангуляре:
– тайпскрипт, динамическая undefined джаваскрипт параша не нужна хотя тс толком не защищает
– целостный фреймворк с роутингами и т.д., чем-то напомнило божественный спринг, где все есть из коробочки
– отделение html/css говна, в которое я почти не лез, от
ts-логики
– angular-cli
– директивы типа *ngFor какие-то ущербные, хотя не знаю, как это имплементируется в реакте

Не понравилось:
– слишком дохуя повторяющегося кода, даже учитывая, что я джавист
– редукс прилеплен как-то сбоку, вообще какое-то странное озущение, будто фреймворк переписывался раз шесть и все продумывалось второпях
– ts не такая уж панацея

Какие аргументы у реакт-адептов?
987094987125
#493 #987094
>>987093

Дополнение: во фронтенд-болото глубоко входить не хочу. Планирую задрочить один фреймворк и мониторить исключительно его изменения ближайшие года.
#494 #987125
>>987093

> слишком дохуя повторяющегося кода,


в реакте тоже самое а в более общем варианте в любой технологии задроченой под работу с UI
будто в qt не много повторящегося кода

> редукс прилеплен как-то сбоку


лол

> Какие аргументы у реакт-адептов?
реакт ебет и будет ебать второй ангуляр комьюнити уже сделало свой выбор, ентерпрайзники скорее остануться на 1.5 ибо легаси а все новое будут писать на react
как это сделали сбербанк и билайн
#495 #987170
Почему мне по запрсоу "собака" только 2 результата в гугл апи вышло? Мне кажется, что-то не так с моим апи. Алсо, что такое cx?

https://www.googleapis.com/customsearch/v1?key=мойключ&cx=017576662512468239146:omuauf_lfve&q=собака

https://pastebin.com/uMawapLX
#496 #987362
>>986919
Сам по себе объект в строковое представление нормально не перегонится, для этого у него должен быть метод .toString который делает подобное преобразование.
987373
#497 #987373
>>987362
Ну ты совсем тупой или как? Т.е. тебя раздирают сомнения, есть ли у объекта String метод toString? Доебал уже.
987475
#498 #987475
>>987373
Меня разрывают сомнения как происходит внутреннее преобразование, т.е куда записывается значение строки при обертывании в объект String.
987515987642
#499 #987515
>>987475
Хуйней какой-то страдаешь, срсли. Строка - это просто строка, зачем тебе еботня с тем, боксед или не боксед там что-то внутри
987551
#500 #987551
>>987515
Хотелось бы иметь полное понимание, а абстракций ебаных итак хватает.
#502 #987642
>>987475
https://www.ecma-international.org/ecma-262/7.0/index.html#sec-properties-of-the-string-prototype-object

В документации это свойство называется [[StringData]], в хроме - [[PrimitiveValue]], хуй знает чому, особенности реализации браузера наверн, не суть.

Затем, когда нужно преобразование, toString или valueOf читает это свойство и вуаля.
6 Кб, 177x97
#503 #987758
Что за хуйня с вебштормом?
Первый раз он не видит, а второй раз видит. Так с любым первым методом.
#504 #987826
http://jsbin.com/mocebixoge/edit?js,console,output - не пойму в чем ошибка.
Вот само задание, если нужно будет - https://learn.javascript.ru/class-inheritance#класс-часы
987829
#505 #987829
>>987826
Тебе не вызывать надо в сетинтервале а передать функцию, которая вызываться будет.
Короче ты не понимаешь а) как работает сетинтервал
б) что делает аплай. Или просто натупил
987860
#506 #987860
>>987829
Спс, но один хуй там ошибка далеко не в этом была.
987979
#507 #987979
>>987860
При исправлении на bind должно было заработать
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 мая 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски