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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
113 Кб, 698x400
JavaScript #40 #720201 В конец треда | Веб
Ссылка на прошлый тред: >>714644 (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

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
#3 #720206
На офф сайте обучалка по ангуляру 2 доступна пока что только для тайпскрипта, значит ли это что он теперь оффициально(тм) рекомендуем гуглом и стоит вкатываться в него дабы быть правильно пацаном?
>>720207>>720222
#4 #720207
>>720223
#5 #720222
>>720206
нет
>>720223
#6 #720223
>>720207
>>720222
Спасибо, аноны
218 Кб, 686x536
#7 #720231
>>720201 (OP)
Дублирую вопрос.
Хотел запустить MongoDB. Выдал две ошибки не было hotfix и не видел хост. Hostfix установил, а вот что с хостом делать? Что я делаю не так?
>>720243>>721063
#8 #720236
>>720201 (OP)
Как на вашей ноде сайты писать? Экспресс выглядит слишком убогим. Какие есть норм Фреймворки?
>>720244
#9 #720243
>>720231
Поставь лучше линупс на виртуалку, не занимайся виндопердолингом
#10 #720244
>>720236
В шапку посмотреть западло?
#11 #720277
анонанусы, а что такое coffescript? От него вообще есть прок?
>>720280>>720307
#12 #720280
>>720277

> От него вообще есть прок?


Сейчас это просто няшный синтаксис
>>720286
#13 #720286
>>720280
а чего он так редко на hh встречается? Ебанутый groovy на котором я пишу и то чаще
>>720293
#14 #720293
>>720286
Его развитие прекратили и осталось только легаси
#15 #720307
>>720277
Не нужен, ведь есть бабель
>>720308
#16 #720308
>>720307
Это вообще разные инструменты для разных задач
>>720310
#17 #720310
>>720308
Че несешь, поясни.
>>720311
#18 #720311
>>720310
Бабель для es6-фишечек, кофе - няшный синтаксис, который раньше и функции бабеля мог выполнять
>>720314>>720320
#19 #720314
>>720311
В ес6 гораздо больше полезной херни, чем в кофе. Те же прокси и нативные промисы
>>720317>>720432
#20 #720317
>>720314
Есть же всякие форки с впиленными фичами es6
#21 #720318
Только начал ноду учить, а уже кончаю от её охуенности.
>>720319>>720321
#22 #720319
>>720318
Ну это до тех пор, пока у тебя что-то где-то течь не начало
>>720322
#23 #720320
>>720311
Как будто это как-то меняет суть работы транспайлеров.
#24 #720321
>>720318
только начал учить ангуляр, но меня уже бомбит. С моей говнокодерской высоты кажется, что он вообще не нужен
#25 #720322
>>720319
По штанине, ты имеешь ввиду?
>>720324
#26 #720324
>>720322
Потом и по штанине.
#27 #720330
Объясните, почему код ниже после выводит айди и итог работы таймаута, а не что-то одно?

var timerId = setTimeout(function() { alert(5) }, 1000);
alert(timerId);
>>720341>>720345
#28 #720341
>>720330
а с какой стати он должен выводить что-то одно?
>>720348
#29 #720345
>>720330
исторически сложилось
#30 #720348
>>720341
Так как timerId несет в себе 2 значения: значение, выдаваемое функцией и ID setTimout. Разве переменная не должна нести в себе 1 значение?
>>720354>>720357
#31 #720354
>>720348
Током ебнуть? Возьми да посмотри, что "несёт в себе" переменная. Написал 2 алерта и хочет один вывод.
>>720358
#32 #720357
>>720348
Хз, я лично рассматриваю это так:
setTimeout(...) - сам по себе ставит таймаут и вполне себе норм работает
а присваивание вида var timerId = setTimeout(...) необходимо если мы захотим его очистить и тогда нам надо знать его айдишник.
#33 #720358
>>720354
Спасибо, даже внимания не обратил.
#34 #720380
Напоминаю рейтинг.

TOP TIER
TypeScript

MIDDLE TIER
JavaScript

SHIT TIER
CoffeeScript
#35 #720383
>>720380
Аргументация? Dart всем дал на ротан
#36 #720392
>>720380
Сорта.
#37 #720395
>>720380
Elm - GOD TIER
т.к. ФП > ООП
>>720396>>720418
#38 #720396
>>720395
Двачую. Правда мозгоразрывающе, бессмысленно и беспощадно.
#39 #720413
>>720380
ловите наркомана
sage #40 #720418
>>720395

>нет монад


>god tier



:)
>>720426
#41 #720426
>>720418
Отчего им там не быть, это всего лишь паттерн
>>720429
#43 #720432
>>720314
Хуй ты прокси отобразишь в es5
Что несешь
>>720435
#44 #720435
>>720432
Лол, что было сложно репо бабеля включить и посмотреть, как реализовано? Ну ты даун
>>720436>>720437
#45 #720436
>>720435

>репл


быстрофикс
37 Кб, 938x274
#46 #720437
>>720435
Кто бы говорил
>>720439
#47 #720439
>>720437
А теперь загугли proxy es6 polyfill
Сорри, что разрушил твой мирок, манька
>>720440
#48 #720440
>>720439
Ты совсем мудак.
Все существующие полифилы, полифилят с ограничениями, и не способны прокрисровать большинство ништяков.
А в тех, случая которые они полифилят, они и не нужны.
#49 #720461
Кто пояснит, что лучше учить, реакт-редукс или ангулар 2? ну или первый.
>>720466>>720474
#50 #720466
>>720470
#51 #720470
>>720466
спс, но меня еще востребованность интересует.
>>720472
#52 #720472
>>720470
Смотри вакансии
#53 #720474
>>720461
Редакс и с ангуляром отлично дружит.
>>720522
#54 #720522
>>720474
Только он там не нужен. Ангулар - готовый завершенный набор, а реакт - конструктор, одной из важнейших деталей которого является редакс.
>>720565
#55 #720565
>>720522
Взлольнул
И что же у тебя в ангуляре выполняет функции редакса?
Ты вообще в курсе, что редакс это универсальная вещь, не привязанная вообще ни к чему? Я, например, на сервере использую его даже. Суперштука для вебсокетов.
11 Кб, 444x244
#56 #720579
Народ, кто использует атом, подскажите плз как тут поднять строку в которой курсор вверх окна редактора. Не хочу писать код в самом низу окна.
>>720602
#57 #720602
>>720579
Усё, нашел сам.
#58 #720712
Есть смысл начинать новый проект на ангуляре 1?
>>720725
#59 #720724
Книги в FAQ расставлены по возрастанию хода обучения? Т.е в самом начале первую (совсем для новичков) потом вторую и так далее (первый раздел). Или там совсем всё рандомно?
>>720726
#60 #720725
>>720712
Есть. Ангулар 1 - это отлаженный инструмент разработки, а Ангулар 2 - игрушка для хипстеров. Раньше чем через полгода трогать его не стоит.
>>720767>>721138
#61 #720726
>>720724
В основах и Node.js книги расставлены от обязательных к желательным. Во фронт-энде они разбиты по технологиям.
>>720728
#62 #720728
>>720726
Спасибо, просто т.к начинаю абсолютно с нуля, то боюсь запутаться.
#63 #720767
>>720725

>Ангулар 1 - это отлаженный инструмент разработки


Ты тралишь?
>>720778
#64 #720778
>>720767
Он уже 6 лет в продакшенах крутится, в том числе и в куче корпораций
>>720787
#65 #720787
>>720778
Охуеть, а перл 20 лет, давай на нем ебашить всё. Right tool for the job - не про тебя походу.
>>720794
#66 #720794
>>720787
Ты что, даун? Что ты сравниваешь?
Перлу тыщи более годных альтернатив, ангулару - какие-то поделки от васянов, которые могут завтра сдохнуть и какой-то недоконструктор, который даже не релизнулся. За 7 лет существования ангулара так и не было ничего, что могло бы его заменить, поэтому он такой популярный
#67 #720795
>>720794
У него единственное применение - клепание охуительных формочек. Это да, тут ему конкурентов нет. В остальных случаях он начинает сосать даже при выводе среднего размера списков чего-нибудь. И там уже начинается охота на ведьм и костылинг.
>>720798
#68 #720798
>>720795
Когда он создавался, надобности в таком и не было особо. Это ж 2009 год, тогда все просто от аджакса охуевали
Сейчас такие задачи появились, много где большие объемы данных, вот и запилили вторую версию с shadow-dom и куртизанками, чтоб всё быстро и компонентно. И он опять будет очень популярным
>>720803
#69 #720803
>>720798
Так и че отрицал? Нахуй он нужен в 2016?
#70 #720828
>>720794

>ангулару - какие-то поделки от васянов


Тонна фреймворков, счет идет на десятки.
>>720837
#71 #720829
Пацаны, как этот ваш jsx на сервере в js скомпилить? Надоело ждать пока с реактовским бабелем страничка обновится, совсем фуфель какой-то.
513 Кб, 657x516
#72 #720830
>>720794
Я тоже так думал, но когда увидел вторую версию, понял что гугел всерьёз собрался сделать из js'а вторую жабу и это очень плохо. Js вэй - это простота, минимализм, гибкость, скорость разработки, а не идусня с абстрактпроксисинглетонами. Жаба-вэй уже один раз обосралася в вэбе на бэке, проиграв рельсам, обосрётся и сейчас на фронтенде.
Прогрессивные пацаны выбирают реакт + кложурскрипт, индусы-синие воротнички - ангуляр, всё остальное быдло пишет на всяком говне.
>>720831>>720835
#73 #720831
>>720830

>Жаба-вэй уже один раз обосралася в вэбе на бэке, проиграв рельсам


Ti adekvaten?
>>720843
#74 #720835
>>720830
Нет же. Посмотри на polymer. Вот что они хотят сделать из второго ангуляра
>>720845
#75 #720837
>>720828
И ты, конечно же, их перечислил
инб4 эмбер, вуе
>>720839
#76 #720839
>>720837
https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Добавлю еще, что в большей части проектов ВСЕ РАВНО приходится писать свой мини-фреймворк, т.к. это быстрее и дешевле, чем внедрять стороннее решение.
>>720951
#77 #720843
>>720831
Вполне. Они долбоёбы тогда решили что веб - это всего лишь ещё один уровень абстракции, ещё один слой поверх того невменяемого тырпрайз говна с которым они привыкли работать. В результате получилось неудобное нечто, 100500 слоёв абстракции чтоб вывести хеллоу ворд, при этом никаких удобств конкретно для самого веба-разраба не было.

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

В результате сейчас 90% вэб прилаг написаны на рельсоподобных фреймворках, а джавадебилы дальше сосут письку в банках или пилят такие же рельсоподобные фреймворки типа Play.
>>720848>>720855
#78 #720845
>>720835
Мне достаточно того что я увидел в примерах на оф сайте. Да и переход на тайпскипт - идиотизм. Куча каких-то блять конфиг файлов, миллион классов, короче если ява это интерпретатор иксемеля в стектрейсы, то ангуляр2 это интерпритатор джсона в ошибки браузера.
78 Кб, 634x664
27 Кб, 749x640
#79 #720848
>>720843

>90% вэб прилаг написаны на рельсоподобных фреймворках

>>720867>>720870
#80 #720849
>>720845

>Да и переход на тайпскипт - идиотизм. Куча каких-то блять конфиг файлов, миллион классов


Не идиотизм. Но на счет конфигов и классов согласен, чет слишком дохуя всего.
#81 #720850
>>720201 (OP)
Ищу новичка для совместного обучения скрипту и прочим технологиям. Вместе легче учить, как по мне, одному как-то тухло и не с кем делиться, что ли
Сам прошел пару курсов по html\css, sql, js на khan, codeacademy и dash.
>>720852>>720856
#82 #720852
>>720850
А ты няшный?
>>720856
#83 #720855
>>720843
Мне лень рассматривать по пунктам. Но бакенд на явке пилится парой кликов в любом иде. То что на других языках вызывает лютый разрыв пуканов мочакодеров в ЕЕ или спринге просто до умопомрачения. Настроил jpa, сгенерил энтити, запилил дао для работы с базой, нагенерил бинов, сгенерил rest для бинов, описал секурити модель. Все бакенд готов нах.
А поверх него хоть jsf пили, хоть на моче спа поверх реста.
>>720868
#84 #720856
>>720852
>>720850
Нет.
И желательно больше 20 уровня чтоб был
>>720885
#85 #720867
>>720848

>top in frameworks


>PHP


Хорошая статистика по фреймворкам!
#86 #720868
>>720855
Ага, только все почему-то блюют с ЕЕ и мечтаю перейти хотя бы на Play.
>>720872
#87 #720870
>>720848

>72% ASP.NET



Причём это даже не MVC. Тебе самому то не смешно?
#88 #720872
>>720868
Кто все?
>>720878
176 Кб, 1024x768
#89 #720878
>>720872
Этот кот, например.
>>720907
#90 #720885
>>720856
Запили контакты, может взлетит
>>720891
#91 #720891
>>720885
alexey1kne скайп
Можно через что-нибудь еще
>>720897
google code prettify #92 #720894
Аноны, работал кто с этой хуитой? https://github.com/google/code-prettify
Использую для подсветки синтаксиса в шарпе, но эта мразь выделяет текст в таких ковычках <> зелёным, а должны keywords подсвечиваться синим как и в вижле. Видимо распознаёт как include в с++. Может кто знает как пофиксить?
#93 #720897
>>720891
а как вообще сейчас с Баумке, норм?
>>720906
#94 #720906
>>720897
Не обращай внимание на написанное
#95 #720907
>>720878
ничоси
у меня такой же фуджик н560 как у кота есть:3
#96 #720908
>>720845

>ангуляр2 это интерпритатор джсона в ошибки браузера.


на башорг!
#97 #720929
>>720845

>Куча каких-то блять конфиг файлов, миллион классов


СЛОЖНА!!! У НАС В ХТМЛ ПРОГРАММИРОВАНИИ ЗА ТАКОЕ УБИВАЮТ НАХУЙ
#98 #720951
>>720839

> https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks


Ну и где там фреймворки не от васянов, с большой модульной базой и всем вот этим?

> в большей части проектов ВСЕ РАВНО приходится писать свой мини-фреймворк


Что за бред? Такое могут позволить себе только корпорации
Да и всегда дешевле использовать технологию с большим коммьюнити, которое напилило огромную кучу модулей
#99 #720953
>>720951

>поделки от васянов


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


/0
>>720957
#100 #720957
>>720953
Я хейчу васянов из-за их привычки умирать, а вместе с ними умирают и их проекты. Смерть васяна, который сделал фреймворк, гораздо фатальнее, чем смерть васяна, который сделал модуль
#101 #720971
>>720794
То что твой ангуляр "релизнулся", ещё не делает его не обосратым.
>>720974
#102 #720974
>>720971
Ну давай, расскажи что в нем плохого по меркам 2010 года
>>720975
#103 #720975
>>720974
2016 год, ало.
>>720992
#104 #720992
>>720975
Так в 2016 у нас уже есть второй ангуляр
>>720994
#105 #720994
>>720992

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


Кто это говорил? А, наверно не ты..
>>720996
#106 #720996
>>720994
Не я. Второй ангуляр вполне "продакшн-реди", просто не обкатан достаточно. Бетой они просто снимают ответственность с себя, чтоб не хуесосили вдруг чего
#107 #721024
Блядь сидишь такой на кодеварсе задачи ебашишь, вроде все сделал правильно, потом смотришь на решения и начинаешь ощущать себя тупым..

function climb(n){
var n = n.toString(2);
return n.split('').map(function(_,i){ return parseInt(n.slice(0,i+1),2) })
}
#108 #721029
>>721024
Или бугришь от того, какой ответ считается best practice.
#109 #721031
За сколько учится работа с этими grunt/gulp, bower/npm? Выглядит на 2-3 дня, чтобы все понять. Так ли это?
>>721033
#110 #721033
>>721031
У тебя поезд к успеху через 2 часа твоего драгоценного времени?
>>721039
#111 #721039
>>721033
прост одна блядь выебывается какой он крутой. Надо его на место поставить.
>>721041
#112 #721041
>>721039
Чего-то аж жалко тебя стало
107 Кб, 347x364
#113 #721054
Помогите ньюфагу. Есть одно главное меню с dropdown. По просьбе заказчика на десктопе оно работает по ховеру. На мобильных устройствах нет ховера. Как реализовать подобную хуйню?
#114 #721059
>>721054
Код покажи
#115 #721060
>>721054
по-твоему щелчек на мобиле != ховеру?
#116 #721063
>>720231
Юзай какой-нибудь mlab и не парься.
>>721648
#117 #721065
>>721072
#118 #721072
>>721065
спс
#119 #721116
Пацаны был ктонить в лабе епаме веб макакой? какие примерно задания там дают?
>>722194
#120 #721134
>>721024
Я бы если на код ревью такое увидел, переебал бы тебе с вертушки.
>>721250
#121 #721138
>>720725
ангуляр вообще трогать не стоит
>>721155
587 Кб, 1700x1734
#122 #721148
СЧОООУР
СЧОООУР
СЧОООУР
#123 #721155
>>721138

> жабаскрипт вообще трогать не стоит

>>721158
#124 #721158
>>721155

>WEB вообще строгать не стоит

>>721159
#125 #721159
>>721158
программирование вообще трогать не стоит
>>721170
#126 #721170
>>721159
эту тему вообще трогать не стоит
>>721195
#127 #721195
>>721170
на двач вообще лучше не заходить
69 Кб, 460x948
#128 #721211
коданы, есть необходимость написать простой аи для игрушки
имеет смысл брать для этого другой язык и компилить его в джс или писать на ванили как и всё прочее?
>>721230
#129 #721230
>>721211
Что у тебя за вопросы такие? Как будто аи на каком-то языке лучше получится
>>721486
#130 #721239
Котаны, объясните, пожалуйста, как работает последняя строчка в скрипте http://plnkr.co/edit/62Z7toAcJGiLk95mBtUQ?p=preview?
Вот эта:

>childrenContainer.hidden = !childrenContainer.hidden;

>>721249>>721273
sage #131 #721249
>>721239
Как хоть ты на доску то смог зайти
#132 #721250
>>721134
Жалко, что ты школоло и с вертушки только тебе дают по ебалу
>>721299
#133 #721258
>>720951

>Что за бред? Такое могут позволить себе только корпорации


Ты бывал вообще в продакшене?
#134 #721260
>>721024
Сложная конструкция, а то, что делает - несложно. Значит это плохой код. Хороший код, когда конструкция простая, а делает сложные вещи.
>>721740
#135 #721273
>>721239
Просто меняется булевое значение на противоположное, ты рофлишь что ли?
>>721303
#136 #721285
>>720951

>Что за бред? Такое могут позволить себе только корпорации


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


Студент не палится.
Дешевле использовать только когда мелкий проект. Если проект большой, то дешевле значительную часть сделать самому, а из чужого кода брать только то что поддерживается крупными фирмами или давно написано окончательно. Всякие мелкие дрочеры опенсорсники и их говно идут нахуй, потому что на хайлоад не расчитаны, куча багов, поддержка нерегулярная, часто проекты бросаются, ломаются и вообще это пиздец.
>>721298
#137 #721288
>>721024
Число приводит к двоичному основанию, потом к строке, потом разбивает на массив, затем берет от строки 1, 2, 3, n символов и превращает обратно в десятичное число.
>>721740
#138 #721298
>>721285
Пиздец ты диван сука
>>721400
#139 #721299
>>721250
Таблетки выпей, уже галлюцинируешь.
#140 #721303
>>721273
Да нет, просто туплю...
#141 #721381
стоит начинать Frontend или он для девочек?
#142 #721394
>>721381
Программирование вообще не мужская профессия.
#143 #721399
>>721381
Почему только для девочек, если пердолится любишь в жопу, то тоже подойдет
>>721401
#144 #721400
>>721298
Он прав вообще-то.
#145 #721401
>>721399
Это только backend.
>>721403
#146 #721403
>>721401
Почему только бекенд? Настройка мне тестирование реакт компонентов на тайпскрипте без рекомпиляции в ес5, посмотрим какого размера у тебя анус будет потом.
>>721412>>721433
#147 #721412
>>721403
Проиграл. Надо это вынести в шапку треда
#148 #721433
>>721403
Ты конфиг вебпака скопипастить не можешь?
>>721450
#149 #721435
>>721381
Часто самоудовлетворяюсь, представляя себя на месте девушки, которую ебут. Иногда дрочу на трапов. Люблю представлять себя нежной девочкой в юбочке в руках у сильного мужчины.
пишу фронт и бэк на js
>>721451
#150 #721450
>>721433
Если сделаешь мне такой конфиг вебпака, то вышлю тебе 50 баксов (без шуток). Нужна мока (или джест), чай(тут можно что-то другое), реакт 15 на тайпе ^1.8.x, без рекомпиляции в ес
#151 #721451
>>721435
Я бы тебя трахнул
>>721494>>721499
#152 #721486
>>721230
читал что можно на чём-то типа лиспа сделать лучше
>>721493
#153 #721493
>>721486
Ты начни делать. Если упрёшься в язык - можно думать о другом. Но вангую тебе и жс хватит с головой.
#154 #721494
>>721451
Город?
#155 #721499
>>721451
Ты бы и собаку трахнул.
#156 #721510
Сколько строк готового кода вы пишете в среднем в стуки?
>>721515>>721681
#157 #721515
>>721510
В среднем, за день я объявляю 35 переменных, 10 функций, два класса и один массив.
>>721520
#158 #721520
>>721515
Не перетруждаешься я смотрю.....
#159 #721648
>>721063
>>721063
Крым под санкциями -_-
>>721709
#160 #721675
Вопрос тот же, не заметил перекат
>>721650
#161 #721681
>>721510
От 10 до 2-3 тысяч.
ОСТОРОЖНО ШОКОВЫЙ КОНТЕНТ #162 #721702
Теперь представьте ваши поделки с кучей классов, массивов и прочих ниш. Отрываем на телефоне, всё ломается, хрустит и с болью наперевес подгружается. Твои оправдания, почему используют классы там, где должны использоваться 2 переменные? Почему функции выходят из функций? Зачем использовать jQuery везде, где нужно сделать простой эффект? Зачем подключать огромные куски рекламных скриптов последовательно?
>>721711>>721712
31 Кб, 604x433
#163 #721709
>>721723
#164 #721711
>>721702
Что ты несешь, епта?
>>721721
#165 #721712
>>721702
саси байтоеб
>>721721
#166 #721721
>>721711
Сразу видно фронтенд-макаку

>>721712
Йоба что-ли? Поясни
>>721823
71 Кб, 551x470
#167 #721723
#168 #721740
>>721288
это ты молодец конечно, но смысл-то задачи ты уловил? Проблема как раз в том, что такой подход к решению мне бы, например, никогда в бошку не пришел. И >>721260 пусть это непонятное говно с виду, но как способ реализации крут. Это же просто задача без смысла, поэтому тут на читаемость кода похуй

Сама задача: For every positive integer N, there exists a unique sequence starting with 1 and ending with N and such that every number in the sequence is either the double of the preceeding number or the double plus 1.
>>722142>>722155
#169 #721823
>>721721
Ты просто собрал кучу бэд-практикс и выдаешь это за острие развитие фронтенда. Ты пидор.
#170 #721826
Вопрос от ньюфага по поводу обработчиков событий на клиенте.
Какая самая лучшая практика по навешиванию множественных обработчиков на однотипные элементы.
Например, есть у нас некая борда, со списком тредов. В каждом треде есть поле для ввода поста/кнопка/whatever, на него нужно повесить обработчик, который что-то там делает.
Прослушиваемых элементов, как и тредов, может быть очень много.

Какой вариант в таком случае предпочтительнее?? Собирать все нужные поля со страницы в массив, проходится по нему циклом и вешать на каждое событие. Использовать делегирование на документе? Писать мелкокласс под элемент и затем инициализировать столько его копий сколько потребуется? Может какие-то другие практики?
291 Кб, 940x849
#171 #721830
Добрый день, хакеры, подскажите/помогите пожалуйста. Как сделать чтобы только нужный блок на странице, то есть ссылку только на него вытащить из страницы.
Сайт: http://arielrebel.com/
Блок: "Recent Updates", пикрелейтед.
>>721835
#172 #721835
>>721837
#173 #721837
>>721835
Ну чтобы по ссылке только блок "ресент апдейтс" открывался.
>>721844
#174 #721844
>>721837
На всю страницу?
>>721845
#175 #721845
>>721844
Как угодно, хоть на всю растянуто, хоть в столбик, хоть как. Это же отдельный хтмл-блок я так понимаю?
#176 #721846
>>721845
Берешь адблок и скрываешь все блоки кроме нужного
162 Кб, 1193x652
#177 #721847
>>721845

Я не понимаю, откуда такой разброс в квалификации? Вопросы здесь тотально нубские, а если вдруг скажешь что не так, то из рид-онли вылазят эксперты с уязвленной самооценкой, пытающиеся самоутвердиться на аноне за счет знаний обоснованным ответом, почему так, а не иначе. Нахуя тогда этот тред, если не для обмена опытом? Сиди дрочи на то, как ты охуенно много знаешь, хуле, если не делишься опытом, нахуй ты тут нужен?
>>721852
#178 #721848
>>721845
Блядь это так не работает. Нет ссылки на этот блок, можешь его сам собрать спиздив стили, но последние новости туда грузится один хуй никак не будут. То что ты хочешь есть подгрузка api через iframe. Там такого точно нет. Может и можно как-нибудь парсить эту хуйню доставать оттуда новое и отправлять в свою форму, но это пиздец бессмысленно
>>721849>>721852
#179 #721849
>>721848
Можно написать расширения для хрома, которое будет по обновлению контента через таймаут проверять, обновилось ли, а если да, то аппендить в body.
>>721850
#180 #721850
>>721849
я и говорю это пиздец
>>721960
#181 #721852
>>721847
Да нет ты не так понял похоже меня, это же я и вопрос задал, что мол мне результат какой угодно сгодится.

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

Спасибо, за ответы, удачи.
#182 #721862
Я сегодня понял, что в php можно симулировать js'овский event loop с помощью tick function

Никто не встречал готовых решений об этом?
>>721865
#183 #721865
>>721862
НА-ХУ-Я?
>>721866
#184 #721866
>>721865
Джаст фор.
>>721868
#185 #721868
>>721872
#186 #721872
>>721868
Так я об эмуляции готовой. Рантайм если хочешь.
Принцип то я знаю, разумеется.

Алсо, эмулировали же прототипную модель, просто чтобы.
Тут то же самое. Асинхронщина в одном потоке.
#187 #721892
Ребят вот вы мне как рубисту обьясните нахуй вам ангуляр? какие профит в мвц архитектуре на клиенте?ебанулись чтоли? наххуй все это когда есть рекат редукс. А и ещё поясните почему у жс такой отсталй?я конечно много чего могу спустить но ведь реал жс какой то умственно отсталый язык:если брать спеки до es6 то там вообше какой то лютый непробудный адовый пиздец по выразительности нет классов и вообше нихуйя нет.если ес6 то надо трахаться с бабелом и тд.Вообшем как так получилось что жс в такой жопе и у него к сожеление нет альтернатив в вебе
P.S. И да я не троль. Реал интересно
P.P.S Без обид ребятки нехочу никого оскорбить
#188 #721893
>>721892
«что-то непонял .кгода ты обьявляешь тот класс где ещё у тебя забыл какой-то метод. если в нём не два парамнтра то он ведь переопредеделен . но ведь ты потом длженего найти но другой где два параметра .и если они одинаковые нельзя ведь сразу отлтчить которфй .но ты пишешь что вызывается метод а жто неверно!!! отвечай пожалуйста подробно или ты самый умный?
#189 #721894
>>721892

> умственно отсталый язык


Разобраться не можешь ты, а отсталый язык.
>>722300
34 Кб, 600x337
#190 #721899
>>721902
#191 #721902
>>721899
Смешно
#192 #721958
>>721892
Нахуя ты тащишь ООП в javascript? Он не нужен в js.
>>722300
#193 #721960
>>721850
Это ПОЛЧАСА работы. Расширения для хрома это package.json, index.html и script.js. Все, блядь.
>>721978
#194 #721978
>>721960
Чтоб твоя хуйня работала, надо чтоб хром был открыт, я полагаю его интересовала автономность в пиздинге нового.
#195 #721983
>>721892
Пиздец, откуда вы лезете? Для тебя отстутствие жаба-классов – адовый пиздец? Чем они лучше прототипного наследования?
#196 #721986
Хочу изучать программирование для себя. В школе изучал стандартную фигню, что-то еще помню. Решил взяться за Angular2. Поставил VisualStudio2015. Подскажите, что дальше? Какой-нибудь ресурс, курсы, уроки, книги для нубов. И, главное, как быстро и без консолеебства настроить себе нормальную среду Angular2+TS?
>>721989
#197 #721989
>>721986

Какой ты резкий
>>721992
#198 #721992
>>721989
Ну JS поизучал немножко, хочется что-то более интересное.
>>721994>>721997
#199 #721994
>>721992
Уже изучил BOM, DOM, CSSOM?
>>721996
#200 #721996
>>721994
Не ебу что это. Мне ж не работать по специальности, а так, для себя. Объясни что это и почему это нужно знать до начала изучения ангуляра?
>>721999
#201 #721997
>>721992

>Изучать программирование


>Angular


лол
#202 #721999
>>721996
Это окружение.

>Ну JS поизучал немножко, хочется что-то более интересное.


Изучи сначала целиком.
>>722002
#203 #722002
>>721999
Ну что значит целиком? Погуглил - document.body.style.background или navigator.userAgent вещит и так самоочевидные.
>>722003
#204 #722003
>>722002
толстовато становится, братишка
>>722004
#205 #722004
>>722003
Ну я ньюфаг, вот ссылка: https://learn.javascript.ru/browser-environment которую нагуглил. Я ж не знаю про что вы.
>>722005
#206 #722005
>>722004
Ты хочешь залезть во фреймворк, не покопавшись в окружении.

А потом начнешь на простейшие вещи тянуть либы.

Вся суть в твоей фразе

>хочется что-то более интересное.


Интереснее ванили ничего быть не может.
>>722007>>722009
#207 #722007
>>722005
Просто у меня нет задач каких-то. Ну какую-то вебстраничку склепал, куки там, слайдеры, форма, генерация канваса. Почему бы теперь не попробовать фреймворк? Сидеть и зубрить, скажем, иерархию DOM для себя смысла не вижу (всегда ж мануалы в гугле доступны если что) - мне интересна не работа а удовольствие от этого всего.
#208 #722009
>>722005
да он сам не знает чего хочет, то ли учить язык, то ли это нихуя не интересно и надо чет поинтереснее, кароче jQuery пусть ест, быстрее всего интересное увидит.
>>722016
#209 #722016
>>722009
jQuerry тоже делал, просто упрощенные/комплесные либы для JS, хочется что-то еще попробовать.
>>722091
#210 #722091
>>722016
С какой стороны подкатится к вебу, если легко ебашу сервер-сайд на ноде, а больше нихуя не знаю?
>>722095>>722164
#211 #722095
>>722091
Со стороны официальной документации Реакта.
>>722101
#212 #722101
>>722095
Которая полное говно.
>>722110
#213 #722110
>>722101
Одна из самых подробных и понятных документаций.
>>722121
#214 #722121
>>722110
Ты с webpack'ом перепутал.
#215 #722142
>>721740
Почитай "идеальный код" и пиши по советам с самого начала, ты же не в олимпиадное программирование собрался вкатываться. Потом тяжело отвыкать будет, а даже если ты с подобным стилем кода пройдёшь собеседование, то потом будешь только боль и страдания тиме причинять.
>>722145
#216 #722145
>>722142
А, я жопой читаю посты, спать уже хочу, ясно.
#217 #722155
>>721740

>Проблема как раз в том, что такой подход к решению мне бы, например, никогда в бошку не пришел



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

Так что не унывай.
>>722162
#218 #722162
>>722155
+50
Этому позитивному абстрактному сансею
#219 #722164
>>722091
Для начала посмотри курс лекций яндекса по фронтенду, по ссылкам как раз лекции по перекату с бэкенда на ноде на нормальный фронтенд.
https://www.youtube.com/watch?v=e7MkUjdrWIs
https://www.youtube.com/watch?v=bC-MUHhdiUk
https://www.youtube.com/watch?v=r4Ty-AGQU2g
https://www.youtube.com/watch?v=Gqon5Bby_qU
https://www.youtube.com/watch?v=Uj5AN_QQn2A
https://www.youtube.com/watch?v=cmt2A_kT8Fs
https://www.youtube.com/watch?v=0KQBHbJt0ic
#220 #722171
Поясните мне - можем ли мы хоть как то для некоего св-ва объекта через Object.defineProperty для set и get выполнять какие-либо действия и после этого сеттить или геттить в/из этого св-ва?
Т.е. я вкурсе, что если в defineProperty в геттере или сеттере загеттить или засеттить это же св-во - будет maximum callstack.
Есть ли какие нибудь костыльные/велосипедные решения?
>>722179
#221 #722179
>>722171
Зачем тебе это?
Обычно сеттер и геттер меняет какое-то иное свойство.
Если тебе принципиально, можешь хранить это свойство не в самом объекте, а например в замыкании, или в свойстве функции-геттера или сеттера.
>>722182
#222 #722182
>>722179
У была идея запилить TypeScript'овский декоратор св-ва класса, который кадый раз, когда к св-ву обращались (get) отдавал бы это св-во, но при этом делал бы еще кое что. То же самое и при задании значения этому св-ву - что бы значение устанавливалось, но при этом тоже выполнить какое-либо действие.

В итоге я так и не нашел способа обойти maximum callstack.
>>722186
#223 #722186
>>722182
дополню, что побочные действия должны были происходить с данными, которые геттятся/сеттятся.
>>722189
sage #224 #722189
>>722186
Ты пример то бы привел, что ты хочешь сделать. Само свойтсво дергать в его же сеттере/геттере это будет то что у тебя получилось - ничего хорошего. Ты либо делашь private field, а в get/set твою кастомную логику, либо декоратор в котором велосипедишь какое нибудь замыкание, если эта логика слабо относится к самому свойству логгирование например
#225 #722190
>>722189
сажица
#226 #722191
>>722189
Ну, например декоратор св-ва, который при каждом сетте св-ва писал бы значение, помимо самого св-ва, также еще и в куки. А при гетте, если есть значение в куках - брал бы из кук, если нет - отдавал бы значение самого св-ва.
>>722192
#227 #722192
>>722191

>можешь хранить это свойство в свойстве функции-геттера или сеттера

>>722193
#228 #722193
>>722192
я видимо туплю, поясни.

Например
class Foo {
@CookieDecorator
public name: string;

// ....
}
>>722195
#229 #722194
>>721116
Про эпам не знаю, сейчас на курсах в конторе этажом выше харьковского эпама.
Задания были такие: на выбор визуализация пузырьковой сортировки/лабиринт (генерация и поиск пути), потом другой препод дал попроще задание (опять же на выбор калькулятор/сапер), потом на выбор одно из того, что не сделали за первые две недели, дальше пасьянс косынка, файловый менеджер (просмотр директорий, возможность оставлять комментарии, которые сохраняются в монге), чятик на вебсокетах.
Остался еще месяц, хз что будет дальше, компания немного утратила интерес к курсам в том плане, что джуны им оказались внезапно не нужны, и хотя тренеры стараются, но все равно оно как-то уже на отъебись. Я-то думал, будет хардкор, конкуренция, отсев лузеров, а тут как-то всем похуй, учимся и учимся.
>>722201>>723015
#230 #722195
>>722193
Ну, твой декоратор должен устанавливать set и get через defineProperty для поля name

А само name value хранить в свойстве функции get или set

Что непонятного
Геттеры и сеттеры это функции. Функции это объекты, у них есть свойства.

function ololo () {} // getter
ololo.value = 'name value'
#231 #722201
>>722194
Ой, блин, объебался, ты про работу, а я про курсы подумал. nvm
>>723015
6 Кб, 285x204
#232 #722285
>>722189
у меня сделано так, никакого переполнения в консоли не пишет, я чего-то не понимаю?
#233 #722292
>>722285
У тебя замыкание.
#234 #722294
>>722285
Пиздец. Ты это всё в конструкторе еще делаешь, да?
>>722297
#235 #722297
>>722294
поясни мысль плиз, няша
>>722299
#236 #722299
>>722297
Если ты девайнишь геттер и сеттер каждому инстансу в конструкторе, то у тебя лютый оверхед.
У тебя же в каждом инстансе ДУБЛИКАТ геттера и сеттера, хотя достаточно было бы делегировать их прототипу. И не выебываться, эмулируя приватность переменной.
>>722304
#237 #722300
>>721894
Я в прицнипе спокойно пишу на ЖС без особых проблем.
>>721958
Я использую реакт. И уж class extends по выразительнее будет React.createClass() а потом в нутриэтого дела ешё и костыли
типо fieldName:function(){return{}}

За профиты мвц на клиенте так никто и не пояснил(
>>722301
#238 #722301
>>722300
На клиенте mvvm
>>722302
#239 #722302
>>722301
А профиты в чем?
>>722303
#240 #722303
>>722302
Зависит от масштабов проекта.
Те же что и вообще от паттернов.
Поддержка.
>>722305
#241 #722304
>>722299
у меня 1 экземпляр этого будет
нечто вроде стека команд https://ideone.com/XrGKcj
>>722306
#242 #722305
>>722303
Не ответил) Вот например для Flux архитектуры я могу спокойно написать профиты в независимости от размер проекта
#243 #722306
>>722304
А нахуя тебе класс для того чтобы инстанцировать его целый один раз?
>>722308
#244 #722308
>>722306
предлагаешь нечто вроде этого делать? :3
https://ideone.com/z1ftkc
>>722311
8 Кб, 699x274
#245 #722311
>>722314>>722318
#246 #722314
>>722311
а как в таком случае сделать в t приватную переменную?
t { yoba: 'yoba' }
чтобы при обращении к t.yoba например она не торчала наружу?
#247 #722318
>>722311
ну и иде ругается на duplicate declaration
>>722321
#248 #722319
>>722314
Я наверно немножко тупой раз не понял вопроса. Но попробуй let
14 Кб, 452x274
#249 #722320
>>722314
Зачем тебе приватные переменные?
Они не предусмотрены концепцией языка, зачем вы их тащите.

На случай api есть соглашения разного рода, например начинать именование приватных полей с подчеркивания (__yoba)

Можно использовать символы еще, например.
И просто делать поле не перечисляемым.

Все остальные выебоны, с создаванием замыкания на каждую такую залупу - говно без задач. Ты понимаешь, что когда ты делаешь себе приватное поле через замыкание, то в памяти хранится весь скоуп вместе с твоей переменной. И так для каждого твоего объекта, где ты это используешь.
>>722323
#250 #722321
>>722318
Консоль браузера не ругается, а иде у него ругается. Ты поехавший?
>>722322>>722328
3 Кб, 279x175
#251 #722322
>>722321
+ после присваивания лишнее поле value появилось
>>722331
#252 #722323
>>722320
function Yoba() {
var innerYoba = 'private';
this.outerYoba = 'public';
}
var yoba = new Yoba;

это выебон?
>>722327>>722332
#253 #722325
добрый анон, помоги умственно неполноценному гуманитарию. Есть скрипт - https://jsfiddle.net/f13qtttr/ , думаю ты лучше меня понимаешь что он делает, и почему-то скрипт отказывается работать, когда я заменяю дефолтный текст на свой, ругается он строчкой "No need for the HTML tag, it's already in the output.", как заставить работать это? помоги пожалуйста.
#254 #722326
* var yoba = new Yoba();
быстрофикс
#255 #722327
>>722323
Да. И еще какой.
Или ты думаешь, что держать в памяти скоуп ничего не стоит?
>>722330
41 Кб, 700x429
#256 #722328
>>722321
Problem synopsis JSHint: Duplicate key 'unit'. (W075)
>>722331>>722333
#257 #722330
>>722327
спасибо, няша, попытаюсь разобраться с этим
>>722332
#259 #722332
>>722330
Ну, в конкретно этом случае нет >>722323
но изначально у него иное
он в конструкторе хранит переменную, которую меняет снаружи сеттером и получает геттером.
так вот в этом случае, скоуп конструктора будет жить в памяти все время пока жив объект.
#260 #722333
>>722328
С твоим хинтером не всё в порядке , и он не умеет в объявление геттеров и сеттеров в литералах
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
#261 #722334

>> 722331


но ведь суть этого >>722285 была в том что я собираюсь добавить обработку при изменении допустим я делаю t.unit = 'yoba' , кроме изменения поля там будет ещё логика, это неудачное решение?
>>722335>>722337
#262 #722335
>>722334
Логика у тебя будет в геттере\сеттере же.
>>722336
#263 #722336
>>722335
логика будет в сеттере, получается что само присваивание значения в сеттере можно не писать?
>>722339
#264 #722337
>>722334
Наздоровье.
Но зачем тебе value твоего t.unita хранить в замыкании? Ты чего боишься? С объектом будет работать кто-то другой и ты переживаешь, что он полезет на прямую в свойство, мимо геттера? Это будет его вина, ведь ты опишешь апи, а если у вас есть соглашения, об именовании приватных полей, то вообще замечательно.

Делай приватное поле неперечисляемым, а геттер перечисляемым. И всё.
#265 #722339
>>722336
Писать.
Если тебе надо чтобы сеттер менял значение.

Короче всё. Я устал это объяснять.
У меня один вопрос.
А ты где научился приватность полей ебашить через замыкания? Кто посоветовал?
>>722341>>722345
30 Кб, 604x402
#266 #722341
>>722339
читал learn javascript про интерфейсы, возможно что-то неверно понял, спасибо за пояснения няша :3
#267 #722342
Вся эта мания на приватные поля, похожа на защиту от идиотов.

У тебя в комнате в люстре есть лампочка, а на стене есть выключатель. Ты в принципе можешь включать и выключать свет, вкручивая и выкручивая лампочку руками на прямую. Но ты всё же пользуешься выключателем, и чтобы тебе вдруг не пришло в голову им не пользоваться, не навешиваешь на люстру решёток с замком.
#268 #722345
>>722339
кстати у меня один экземпляр этого объекта и мне нужно хранить переменные, они постоянно используются же
#269 #722376
Смотрите какая странность. Повторите это в консоли, убедитесь. Берём, например, массив с объектами:

[{one: 1}, {two: 2}]

И через JSON.stringify превращаем его в json строку. Получается такое:

"[{"one": 1}, {"two": 2}]"

Уже видно, что кавычки расставлены неправильно. Если скопировать строку JSON.parse, то будет ошибка. Но если передать готовый json в переменную, а переменную в JSON.parse, то она нормально превратится обратно в объект. В чём секрет?
#270 #722383
>>722376
Ты обдолбался.
JSON.stringify возвращает

>[{"one":1},{"two":2}]

#271 #722384
>>722376
В том смысле те кавычки, что ты видишь в консоли - это не часть строки, это ее отображение в консоли.
17 Кб, 570x274
#272 #722386
#273 #722461
Поясните, всяким const и let бабель сохраняет область видимости, невозможность присваивания и т.д. из ес6 как-нибудь хитровыебано или тупо на var меняет?
>>722471
#274 #722463
Аноны, подскажите, есть страница генерируется PHP, мне нужно что бы на ней сгенерировалcя массив объектов для javascript, хочу дерево построить. Как это у вас правильно делать?
>>722466>>722488
#275 #722466
>>722833
#276 #722471
>>722461
https://goo.gl/e5Fgq9
Не сохраняет.
>>722475
10 Кб, 1583x418
#277 #722475
>>722479
#278 #722479
>>722475
Ну лан, победил. А что там с невозможностью присваивания?
#279 #722488
>>722463
Шаблонизатор юзай.
45 Кб, 453x604
#280 #722741
скриптаны, есть вопрос, всегда писан на vanilla, решил попробовать es6 с babel, какие подводные камни?
>>722742>>722810
#281 #722742
>>722741
а es6 это не ванила?
>>722744
#282 #722744
>>722742
сорри не так написал, имел в виду старый стандарт без фич которые не поддерживаются
>>722746
#283 #722746
>>722744
Уже многое поддерживается.
>>722748
#284 #722748
>>722746
ну например вот http://es6-features.org/#StringInterpolation

в ie11 не работает
47 Кб, 945x916
Такой вопрос #285 #722751
Скрин.
Содержимое некоторых функций убрал (для вопроса не существенно).
Короче, есть страничка, на страничке canvas и кнопка. В канвасе происходит некоторая отрисовка, на которую влияют координаты мышки (3D-вращение, мать его ёб). Туда же передаем массив angls, который тоже влияет на отрисовку (из этих углов строится геометрическая фигура, которую вращаем мышкой).
Пока всё заебись. После нажатия на кнопку, надо отправить на сервер (Аяксом) некоторый параметр (IRL таких кнопок две, с разными параметрами). На серваке этот параметр обрабатывается, формируется новый массив angls и высылается обратно (echo json_encode($angls);). Вот то, что сервак вернет, мне надо в канвас засунуть. Как это сделать?
>>722809
#286 #722801
Пачаны, я тот анон, который задавал вопрос про убирание прозрачности аналогично результату сложения.

Так вот, я долго думал над этим и нашёл 100% решение.

for ( var i = 0; i < imageData.data.length; i += 4 ) {
m = 255 / Math.max ( Math.max ( imageData.data[ i ], imageData.data[ i+1 ] ), imageData.data[ i+2 ] );
imageData.data[ i ] = m;
imageData.data[ i+1 ]
= m;
imageData.data[ i+2 ] *= m;
imageData.data[ i+3 ] = 255 / m;
}

В общем-то суть такова, есть некая вещественная переменная m, которая хранит коэффициент деления 255 на самый яркий цвет, после чего все каналы умножаются на него, а прозрачность является делением 255 на этот коэффициент, может кому полезно будет.
>>722802
167 Кб, 484x1000
#288 #722809
>>722751
var new_angls = JSON.parse(req.responseText);
angls = new_angls;
>>722845
1267 Кб, 1421x1140
#289 #722810
>>722741
Многие браузеры уже поддерживают все фичи es6. Кроме лисы, лисе не нравится let :/
>>722819>>722820
#290 #722819
>>722810

>Кроме лисы, лисе не нравится let


Странно, если вспомнить о том, что когда-то let была только в лисе.
>>722821
#291 #722820
>>722810
А ещё Yandex Browser без strict
#292 #722821
>>722819
Там другой правильный лет был
>>722828
#293 #722822
значит подводных камней в использование бабеля нет? :3
#294 #722823
Полный ньюфаг врывается, попробовал написать простенький слайдер. При нажатии на некст и прев, первый и последний слайдер при втором круге становятся андефайнд, я пониманию почему, но не знаю как написать по-другому.

https://jsbin.com/niwixusana/edit?html,js,output
>>722832
#295 #722828
>>722821
А что в нынешнем неправильного?
1075 Кб, 1879x1761
#296 #722832
>>722823
Ошибка очевидная.

>index++;


>slide.setAttribute('src', slides[index]);


>if (index >= slides.length) index = 0;



Допустим, до исполнения этого кода index===5
Он начинает выполняться.
После первой строки index===6
На следующей строке, ты пытаешься получить из массива элемент с индексом 6, а его там нет. Получаешь андефайнд.
И только потом ты проверяешь, не вышел ли ты за массив.

Поменяй местами две строки.

>index++;


>if (index >= slides.length) index = 0;


>slide.setAttribute('src', slides[index]);



То же самое с pref

>if (index < 0) index = slides.length - 1;


>slide.setAttribute('src', slides[index]);

>>722849
#297 #722833
>>722466
вообще у меня есть результат sql запроса, там его стандартным циклом PHP разбираю, нужно для внутренних целей. Если из результата сделать JSON, то что с ним делать? Во время генерации PHP прописываю теги <script></script> и внутри них создаю строковую переменную, что-то вроде $tmptree="{ololo:keke}".$somedata. Но есть ли вариан такой, что бы я взял массив PHP и на странице из него сразу сгенерировал javascript объект?
>>722840
#298 #722839
Ананоны, подскажите пожалуйста. Есть у меня на странице элементы, как сейчас модно-молодежно делать биндинг. Т.е. аякс отработал, и хочется что бы не заново искать элементы по id меняя им значения, а вот так сразу создать глобальный объект, связять его поля с тегами и при обновлении объекта менять несколько элементов.
>>722843
#299 #722840
>>722833
<?
echo '<script>var obj = JSON.parse("'.json_encode($your_object).'");</script>' ?>
#300 #722842
>>722840
Ну, и экранируй еще правильно, конечно.
144 Кб, 748x1080
#301 #722843
>>722840
Можно без JSON.parse, жсон сам по себе является валидным ЖС.

>>722839
Ну, делай, что тебе мешает?
>>722846>>723126
#302 #722845
>>722809
малаца спетросянил
>>722846
243 Кб, 576x800
#303 #722846
>>722843
Хотя, с JSON.parse безопаснее.

>>722845
Тогда сформулируй точнее, что ты хочешь от нас.
>>722917
#304 #722849
>>722832

Спасибо!
#305 #722917
>>722846
Пиздец, блядь, нарожают анимешников.
Прочитай еще раз - я там всё четко сформулировал.
55 Кб, 600x400
#306 #723001
Анон, помохи. Платиновый вопрос, зачем нужны set и get и какая от них польза, кроме того что можно этими командами скрыть свойство от прохождения псевдоциклом по ключам for(key in object)? Почему этот вызвал такой восторг у Ильи Кантора?
>>723004
#308 #723015
>>722201
>>722194
А вот эти задания типо сапера, лабиринта,пасьянса и т.д. это давалось на каждое задание 1 день? И допустим я не знаю как реализовать задачу, типо пасьянса или косынки и мне понадобится время чтобы разобраться, погуглить аналоги,посмотреть чужой код и т.д. это плохо? и значит что я недопрограммист? Или время дается и можно гуглить, смотреть аналоги и потом решить поставленную задачу?
Мимо другой анон
>>723076
#309 #723076
>>723015
Неделя на каждое, никто пизды не выдавал за несделанное, но просто на следующей практике давали новое задание.
Файлменеджер, впрочем, я только сейчас сделал, и то еще комменты не прикрутил, в процессе пришлось разбираться с нодой, экспрессом, jade, ну и собственно рендером json. Все либы для рендера используют жквери, а нам его нельзя юзать.
#310 #723078
"Сейчас" - это через три недели после получения задания. У них крупный проект закрыли и джуны стали не нужны. Мб после что-нибудь предложат, но я и сам буду искать.
1853 Кб, 2448x3264
1773 Кб, 2448x3264
#311 #723095
>>720201 (OP)
Есть желающие выполнить такую хуйню за 300 рублей?
pymi2qttelANUSyanHg#dexPUNCTUM`Z5ru
#312 #723115
>>723095
Пиздец.
Я бы обосрал публично того преподавателя, который формулирует эти задания. Он же некомпетентен в край.
#313 #723120
>>722840
ясно( т.е. никакого механизма не существует что бы вот без этого echo?
>>723131
#314 #723126
>>722843
а как это вообще делать? Вот есть у меня объект
lecoq = {age:2, color:red, name:huilo}
и есть html где этот петух представлен
<div >
<div id="age"></div>
<div id="color"></div>
<div id="name"></div>
</div>
Далее постоянно идут разные аякс запросы, по завершеню которых объект петушок модифицируется. Как мне сделать, что бы новые параметры петушка автоматически менялись в div? Сейчас у меня есть обработчик, которые при приеме данных(приходит не только json) совершает вычисления и как результат модифицирует объект петушок. Затем при помощи jquery я ищу теги с id:name, age etc и меняю текст внутри них, но чувствую, что так НЕ ПРАВИЛЬНО. Хочу заметить, что данные мне приходят "сырые", я бы даже сказал бинарные и
после вычисления их я нахожу параметры петушка.
#315 #723131
>>723120
Существует.
Но тебе он не нужен, если ты не понимаешь принципа клиент-серверного взаимодействия и сути работы http протокола. А ты не понимаешь, если задаешь такие вопросы.
>>723136
#316 #723134
>>723095
Ну ты и ретард, просто пиздец
#317 #723135
>>723095
Выполню за 15к + официальный перевод на счёт юридического лица.
#318 #723136
>>723131
бля, ты меня троллировать пришел? Вот не зли меня сука, если не знаешь, что сказать. Я писал cgi скрипты на си++ и клиент-серверные протоколы под микроконтроллеры, а ты мне хуету тычишь про клиент-сервер.
>>723137
#319 #723137
>>723136

>писал cgi скрипты на си++ и клиент-серверные протоколы под микроконтроллеры


>не может совладать с пхп

>>723155
#320 #723151
>>723095
Да за полчаса бы сделал, только гм... денег у меня жопой жуй. Что ты можешь предложить в обмен?
>>723152
#321 #723152
>>723151
Что тебе было бы интересно?
Никаких флажков
#322 #723155
>>723137
я тебе объясню проблему, мне приходится одновременно писать на
си++
java
javascript
groovy
php
VBA
даже не спрашивай как я до такого дошел, но вот такая вот ситуация сложилась.
Какое решение вижу я, в php должна быть ф-я, передавая в которую объект php, ф-я при создании страницы создает валидный js.
>>723162
#323 #723162
>>723155
Если бы ты на всём этом писал, у тебя бы не возникало таких вопросов.
>>723165
#324 #723165
>>723162
ладно, ты тут самый умный
>>723168
#325 #723168
#326 #723205
Ангулар 1. Есть сервис/фабрика, которая делает запрос и возвращает значение. Как сделать, чтобы фабрике при вызове можно было передать значение, которое она бы использовала в запросе?
8 Кб, 198x255
#327 #723260
День добрый. Плиз хелп.

Возможно ли, и если да, то как, перехватить ответ от сервера при отсылке ajax запросов из js кода?

Поясняю особенности того, что я хочу получить:
1.) Есть $.ajax, который отправляет запрос на сервер.
2.) Сервер возвращает ответ где сериализован объект, в котором есть свойство "status".
3.) Код перехватывает возвращенный объект, обрабатывает его и затем передает на дальнейшую обработку в success 1.)
>>723261>>723268
#328 #723261
>>723260
Сделай свою обёртку (декоратор) над функцией Ajax, где будет происходить вся нужная обработка.
>>723264>>723268
108 Кб, 601x601
#329 #723264
>>723261
Да, это первое что пришло в голову, и я бы воспользовался этим методом если бы везде писал свои запросы, но я местами использую фреймворк syncfusion который сам собирает ajax, поэтому нужен именно перехват.
>>723268
49 Кб, 400x570
#330 #723268
>>723260
>>723261
>>723264

Нашел решение. Все до безобразия просто.

$(document).ajaxComplete(function(event, xhr) {
alert(xhr.responseText);
});
>>723304
#331 #723289
Анон, помоги новичку. Нужны вкладки на js/query с одной особенностью, нужно чтобы кнопки и контент находились в разных блоках. Нужно сделать сайт не большой по нагрузке, но большой по кол-ву информации и я решил не делать кучу мелких страничек, а сделать все на одной используя вкладки в навигации.
#332 #723304
>>723268
Так это же не перехват ответа, а +! хэндлер, ты теперь свои коллбэки не будешь использовать?
#333 #723325
Аноны, есть кто работает js погромистом? Какие требования? Надоело писать на си++. В багаже начальные знания php и javascript в размере полугода работы. Что нужно подтянуть что бы перекатиться в веб? Верстку не знаю совсем как, просто наглухо.
>>723327>>723329
#334 #723327
>>723325
Посмотри вакансии, епты. Технологии очень отличаются по регионам
>>723332
#335 #723329
>>723325

>Верстку не знаю совсем как, просто наглухо.


Как это?
>>723330
#336 #723330
>>723329
да сложно это для меня, как там дивы расставить в ряд и выровнять все просто мрак какие мучения
>>723331
#337 #723331
>>723330
В крупной конторе это делают верстальщики, но знать верстку необходимо (заниматься мб и не придется), если только ты не будешь делать backend на ноде.
#338 #723332
>>723327
ну я могу сказать как на си++ работаю, дают задачу, я с ней ебусь месяц-другой потом начинаю показывать руководителю, что-то дополняем, что-то меняем, что-то исследуем. В общем работа ответственная и никто не давит и не подгоняет. Сейчас так вышло, что пришлось дописывать проект на js и java за съебнувшим коллегой и вдруг почувствовал, что все в разы проще и быстрей чем на ++, но тут видимый результат буквально каждую неделю можно получать. Как там в мире js? хуяк-хуяк и в продакшн?
>>723333
#339 #723333
>>723332

>Как там в мире js? хуяк-хуяк и в продакшн?


А ты думаешь, почему js стал таким популярным?
>>723335
#340 #723335
>>723333
ничего не думаю, у меня нет знакомых программистов на js и веб, все лютые с++ и java энтерпрайз продакшн легаси говнокодеры
>>723336
#341 #723336
>>723335
Зависит от конторы жи.
>>723344
#342 #723343
https://jsfiddle.net/j3v6ra9g/2/
Насколько говнокод мой говнокод? На что обратить внимание?
>>723350
#343 #723344
>>723336
ну про свою напиши, любопытно хоть как у людей то
>>723345
#344 #723345
>>723344
У меня вообще здесь все стандарты вношу я и требование одно - успевать по дедлайну сделать так, чтобы работало. Но я и работаю не в IT-компании, а в IT-отделе, где всего 4 человека. Где-нибудь серьезнее могут дрючить за unit и e2e-тесты, проводить код-ревью и т.д., у меня вообще халява.
#345 #723350
>>723343
Разбей еще на маленькие функции с человекопонятными названиями и будет ок. Представь, что чувак, который будет читать этот код, не хочет разбираться, что этот код делает, а хочет прочесть английское предложение.
>>723371
#346 #723371
>>723350
https://jsfiddle.net/j3v6ra9g/3/
Вроде такого? Еще я не уверен что выбрал правильный подход с использованием своих объектов наряду с Date объектами, или норм?
>>723385
#347 #723376
Аноны, посоветуйте что учить что бы вкатиться стажером не в верстку. Базовые знания js есть, не знаю куда дальше копать. Могу написать небольшой экстеншн для браузера, или на ноде бота сделать для тг, но мне кажется этого мало. В общем буду рад советам по теме
#348 #723385
>>723371

>использованием своих объектов наряду с Date объектами


Это ок.

>Вроде такого?


Да, только объявление функций сверху, вызов их снизу - это для читаемости, видишь, что закончились определения, дальше идут вызовы.
А еще лучше в IIFE вызывать анонимную функцию, в которой будешь хранить объявления функций, а она пусть возвращает именованную tick, которая и вызывает саму себя.
>>723399
#349 #723399
>>723385

>А еще лучше в IIFE вызывать анонимную функцию, в которой будешь хранить объявления функций, а она пусть возвращает именованную tick, которая и вызывает саму себя.


Воу, у меня череп потек от такого.
Т.е. так?
(function() {
var ...;

function calculate() {...};
function render() {...};
return function tick() {
...
setTimeout(tick,1000);
}
})()();
Ты меня подтраливаешь, или я не так понял? В чем плюс такой схемы?
>>723413
#350 #723413
>>723399

>В чем плюс такой схемы?


Объявление функций хранится в замыкании уровнем выше, а не в функции tick. Код логически лучше разделен, читать такой код проще. В функции tick хранится, собственно, код, отвечающий за tick, и не больше.
>>723449
53 Кб, 600x468
#351 #723422
Мэдскиллз.
>>723424>>723429
#352 #723424
>>723422
Бизнес-требования as is.
#353 #723429
>>723422
Врети, я мечтаю познать вторую лавку, а первая лавка - тошниловка
>>723435
#354 #723435
>>723429
Прелесть пикчи в том, что ее можно интерпретировать по-разному. Сидят либо два кандидата, а в очереди - работодатели, либо наоборот - справа ищут годного низкоуровнего спеца, но никого нет, зато на PHP-вакансию собралась толпа индусов.
>>723439
#355 #723439
>>723435
Можно и так интерпритировать, но это скажет больше об интерпритирующем, кек. А вообще, знать надо все, помоему.
>>723440
#356 #723440
>>723439
Знать надо структуры и алгоритмы, язык приложится.
>>723444
#357 #723444
>>723440
Ну так то да. А еще компиляторы
>>723445
#358 #723445
>>723444
Компиляторы можно не знать в 2016. А структуры и алгоритмы не меняются на протяжении 10-летий.
>>723448
#359 #723448
>>723445
Еще давай начать перечислять, чего можно не знать в 16 году. Мне вот они нужны будут
>>723453
#360 #723449
>>723413
Хорошо, спасибо, Антон. Сам непривыкши к такому и наверное потому воспринимается сложнее.
>>723457
#361 #723453
>>723448
Пошел вон из js-треда.
>>723455
#362 #723455
>>723453
Извольте пойти в ле хуй. Я могу бывать где вздумается, пушто я гражданин всех тредов
#363 #723457
>>723449
http://jsbin.com/lalawakehi/edit?html,js,output - пример фабрики, может быть интересно, т.к. читается проще, чем прототипное наследование.
>>723473
#364 #723473
>>723457
Интересно. _ с extend это что-то конкретное, или просто плейсхолдер для функции которая копирует методы в возвращаемый объект? Прототипы я таки понял, и если я правильно понимаю, то в виде фабрики методы будут копироваться в каждый экземпляр, занимая лишнюю память.
>>723487
28 Кб, 406x721
#365 #723478
коданы, тут писали что добавление методов в класс через прототип экономит ресурсы, например
function Class() {
this.doSomething = function(){...}
}
хуже чем
function Class() {}
Class.prototype.doSomething = function(){...}
это верно?
#366 #723482
>>723478
Верно, прототип это просто объект, в котором и собираются все эти свойства экземпляров "класса". И экземпляры ищут и находят это свойство в общем объекте.
#367 #723487
>>723473

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


Будут копироваться только ссылки на них, а экземпляры будут храниться в замыкании. _.extend из underscore.
>>723498
#368 #723490
>>723482
Что на счет цепочки прототипов при множественном наследовании?
>>723496>>723763
255 Кб, 480x360
#369 #723493
Горит лаба по машинному обучению. Вроде, теорию как-то разобрал, но не знаю питона (специальных библиотек питона) и сильно волнуюсь, так что без понятия с какой стороны подойти. Было бы здорово, если бы кто-нибудь знающий помог разобраться.
Задания типа сгененрировать данные для функции, применить к ним регрессиии и написать процедуру, которая выберет оптимальную модель регрессии для случайных данных.
tQeaandcakeANUSoPy5penmailboxPUNCTUMJbgorg
>>723495
#370 #723495
>>723493
Сори, мискаст.
#371 #723496
>>723490
Не найдя в свойствах экземпляра идет поиск в прототипе, не найдя в прототипе ищется в прототипе прототипа и так вплоть до Object.prototype.
>>723507>>723763
#372 #723498
>>723487
Вот оно как, понял.
#373 #723507
>>723496
Значит при прототипном наследовании оверхед на поиск (операции), а при фабрике на память (4 байта, если не изменяет память, на каждую ссылку на метод).
>>723763
#374 #723556
Аноны, а можно ли на js прочитать бинарный файл с диска компьютера?
#375 #723562
>>723556
Только если расширением
#376 #723590
Народ, короче еле-еле на грани понимания славливаю концепцию колбэков.
Сука, функция, которая определяется в параметрах функции. Рвет мозг и шаблоны напрочь. Кто-нибудь может на простых примерах (может из жизни чего взять) пояснить за них?
А то в статьях все сразу для примера херачат запросы по два-три колбэка и хуй пойми где что...
Или киньте ссылки на какие-нибудь простые статьи с примерчиками уровня helloworld по теме.
#377 #723592
>>720201 (OP)
Помогите пожалуйста. Как сделать так, что бы участок кода работал только при определенном размере экрана?
>>723617>>723770
#378 #723613
>>723556
Не с помощью браузера (запрещено в целях безопасности). Десктопное приложение с помощью ноды может это сделать.
>>723957
#379 #723615
>>723590
callback = function (result) {
alert(result);
};

function makeAJAXRequest (callback) {
//do ajax request
//save to answer
// pass answer to callback
....
callback(answer);
}

makeAJAXRequest(callback); //time... ... alert!
>>723650
#380 #723617
>>723592
document.onload = function () {
... check resolution ...
};
#381 #723632
>>723482
а сделать
function Class() {
this.prototype.doSomething = function(){}
}
можно? или это как первый вариант в >>723478
>>723691
#382 #723638
>>723482
проверил, вижу нельзя
#383 #723650
>>723615
>>723615
Так ну с именованой функцией более менее понятно. А как и когда выполняется анонимная функция в описании?
>>723714
#384 #723691
>>723632
Нет.
prototype это свойство конструктора. В создаваемый объект тот же объект записывается в скрытое свойство __proto__, т.е. можно
function Class() {
this.__proto__.doSomething
}
но так вроде как не принято потому что а хуй его знает, я сам только учусь.
#385 #723696
>>723691

>this.__proto__.doSomething = function() {};


Дописать забыл.
>>723810
#386 #723707
>>723691
уже передумал, выглядит как говно :3
#387 #723714
>>723650
Тогда же, просто ты её объявляешь при вызове.
makeAJAXRequest(function (result) {
//do magic with result...
});
#388 #723725
>>723590

>Рвет мозг и шаблоны напрочь.


И рвет и выносит, но потом, перечитывая в двадцатый раз и потренировавшись всё начинает хорошо укладываться. Параметры функций нужны чтобы динамически определять сущности, с которыми она работает. Но этими сущностями могут быть не только обычная инфа вида "что", но и "что делать". Допустим считаешь ты зарплаты, есть для этого функция, но от зарплаты ты должен потом отсчитывать всякие налоги, причем для всяких инвалидов иначе, для студентов иначе. Закладываешь колбек в параметры функции, который применяешь в конце вычислений. А при вызове передаешь другую функцию, которая и будет высчитывать налоги.
function getPayment(hours, payrate, applyTaxes) {
var payment = hourspayrate;
payment = applyTaxes(payment);
return payment;
}
function standartTaxes(value) {
return value
0.75
}
function disabledTaxes(value) {
return value0.9
}
function studentTaxes(value) {
return value
0.8
}
И можешь использовать это как
getPayment(160, 5, studentTaxes);
Это самый простой пример. Еще яркий пример сортировка: есть функция sort, а ей можно передать колбэк, в котором описано по какому принципе сортировать. Это уж не буду расписывать, в гугле и так полно примеров.
>>723731
#389 #723731
>>723725
Звездочки пропали, блеать.
#390 #723744
>>723478
Что мешает сделать так?
class Huita {
doHuinyi(args) {

}
}
>>723879>>723885
#391 #723745

>>72363>>723691


>но так вроде как не принято потому что


В ослике не работает
#392 #723746
>>723590
Для начала можешь думать, что это просто текст, который в определённое место функции вставляется.
#393 #723763
>>723490
>>723496
>>723507
Если ты хочешь, чтобы какой-то метод у какого-то инстанса не искался по цепочке, то объяви его как undefined в инстансе.
#394 #723767
>>723556
Браузером можно через FileAPI если пользователь сам подаст этот файл.
>>723957
#395 #723770
>>723592
Проверяй размер экрана при загрузке и вызывай свой участок.
Если под размером экрана ты подразумеваешь размер окна, то еще вешай хендлер на событие изменения размера окна.

(по сути и разрешения экрана в индивидуальном случае может измениться посреди работы)
#396 #723810
>>723696
ахуенно ты функцию прототипом сделал. Может все же как-то так?

this.__proto__ = protoObj;
..
protoObj.doSomething = function() {};
>>724193
3 Кб, 371x69
#397 #723861
Чому так?
>>723864>>723866
#398 #723864
>>723861
А ты ожидал, что там примитив будет, ебин? В js в таких случаях примитивы оборачиваются в объекты.
#399 #723866
>>723861
Вообще избавляйтесь от привычки использовать __proto__
Это очень хуевая практика.
>>723867
#400 #723867
>>723866
Чому?
#401 #723868
>>723867
Потому что потом в некоторых случаях он может себя неочевидно вести.
#402 #723869
>>723867
Потому что это просто свойство. Оно е обязано всегда указывать на прототип, и легко может быть переопределен.
Для рефлексии есть специальные методы в Object или теперь в Reflect
>>723871
#403 #723870
>>723867
в ie10 не работает
>>723874
#404 #723871
>>723869
*не обязано
#405 #723874
>>723870
Это не имеет значения.Можно заполифилить. Но.
Раньше это было кастомное свойство, котрое появилось в браузере.
Сейчас его утвердили в спеке, и оно поддерживается всеми, кто поддерживает es6
Но сделали это именно из прежней неразберихи.
Лучше бы не делали.
Это хуевое свойство.
43 Кб, 762x386
#406 #723878
>>723881
#407 #723879
>>723744
это что? коффескрипт?
>>723880
#408 #723880
>>723879
Это es6, алё.
>>723886
#409 #723881
>>723878
Лол. Проебался там в defineProperty, переопредлять надо у объекта z, но рехультат будет тот же.
754 Кб, 1920x1080
15 Кб, 480x360
#410 #723882
Почему в названии одно, а на обложке другое?
>>723888
#411 #723885
>>723744
Через конструкцию class нельзя задефайнить в прототип свойства, только методы
>>723889
#412 #723886
>>723887
#413 #723887
>>723886
Про бабель слышал?
>>723893
#414 #723888
>>723882
Где? Подчеркни
>>723891
#415 #723889
>>723885
Напиши в конструкторе
this.property = 123;
>>723890
#416 #723890
>>723889
Это свойство инстанса, а не прототипа.
>>723894
#417 #723891
>>723888
Книга называется "JavaScript ниндзя", а на обложке самурай.
#418 #723892
>>723891
Ох щиет
#419 #723893
>>723887
слышал, спрашивал в треде про подводные камни
расскажи что как
>>723897
#420 #723894
>>723890
Ну я на самом деле только сейчас понял, что нужно, пост жопой читал. Но у классов ещё и наследование есть, может из супер класса свойство доступно будет одно на всех.
>>723898
#421 #723895
>>723891
Это ниндзя, замаскированный под самурая. Они в таких случаях даже носили в больших ножнах короткие катаны, чтобы все охуевали, как они могут.
#422 #723897
>>723893

>весь мир уже пользуется


>но сейчас я найду подводные камни и начну писать надёжное стабильное приложение на ES4

>>723904
#423 #723898
>>723894
Суть в том, что оно будет определяться для каждого инстанса каждый раз.
И если ты хочешь чтобы во всех инстансах было например поле name которое хранит примитив, то у тебя этот примитив продублируется в каждый объект, а не будет храниться в прототипе.

Тепнерь представь чтоэтот примитив - строка на тысячу символов. И у тебя тысяча инстанстов.
В каждом хранится по строке в 100 символов.

А в случае с нормальным старым прототипным наследование, эта строка хранится только в прототипе, в единственном числе, а все оостальные имеют к ней доступ делегированием.
#424 #723900
>>723891
js - язык с нечеткой типизацией, поэтому на обложке книги js ниндзя нарисован самурай

баян-шутка
>>723902>>724114
#425 #723901
>>723898

>в 1000 символов


фикс
#426 #723902
>>723900
Но тогда там должен быть просто японец.
>>723905
#427 #723904
>>723897
на ес5 :3
>>723906
#428 #723905
>>723902
Просто человек.
>>723907
#429 #723906
>>723904
Это слишком опасно.
>>723913
#430 #723907
>>723905
В костюме с дипломатом.
#431 #723911
>>723898
вот кстати сегодня по советам анонов переписал свою йобу на прототипы, брат жив
#432 #723913
>>723906
обоснуй, твой бабель так же всё в ес5 переводит :3
>>723917>>723919
#433 #723915
>>723898
Словом. и не только примитив.
Объекты которые дефайнятся в свойства в конструкторе, тоже дефайнятся для каждого инстанса отдельно.
#434 #723917
>>723913
Так он же с подводными камнями может быть!
>>723921
#435 #723919
>>723913
Не всё.
Есть вещи, которые нельзя трансплировать в ес5 целиком, потому что они не полифилятся полностью.
Прокси например.
#436 #723921
>>723917
а может и не быть, ты же за них не пояснил
>>723919
до прокси я ещё не доучил
#437 #723938
>>723919
Ещё символы.
>>723946
#438 #723946
>>723938 >>723919
юзаете прокси и символы? примеры задач подскажете
>>723955
#439 #723955
>>723946
Я об трансляции в es5
Если подходить ко всему как, что если какая-то фича не распространена по юзкейсам, то и не страшно - с этой точки зрения трансляторы вообще тогда не нужны. Всё можно писать на es5

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

А юзкейс у них стандартный, всё то же самое метапрограммирование.
#440 #723957
>>723613
>>723767
ясно, ясно. Вообще жопа, надо прочитать файл с другого сервера, т.е. я захожу на сервер, а он с другого сервера файл тащит, но джаваскрипт все запрещает на хуй.
#441 #723958
>>723957
Если сервера твои, то просто пропиши нужные заголовки при отдааче файла, чтобы обойти cors
#442 #723960
>>723957

>джаваскрипт все запрещает на хуй


Он тебе ничего не запрещает.
Проблема в твоем окружении и архитектуре твоего решения.
Окружений много, и архитектуру решения надо подгонять под каждое.

JS не виноват в твоих проблемах.

ОС тебе например тоже не разрешает напрямую обращаться в произвольные участки памяти, говорит ли это о том, что виноват в этом какой-либо язык?
#443 #723961
>>723957
С другого сервера читать никто не мешает.
>>723962
#444 #723962
>>723961
cors может мешать.
1 Кб, 377x20
4 Кб, 339x56
#445 #723963
Есть 2 проекта.
В 1 вебшторм подсвечивает синтаксис как на 1 пике, а во втором какую-то ошибку даёт.
Оба работают нормально, но красное меня раздражает в коде. В чём проблема?
ES6 в обоих включён.
#446 #723967
>>723963
В вебшторме.
#447 #723969
>>723963
Может ему не нравится путь до модуля без расширения?
>>723983
24 Кб, 1026x221
#448 #723975
Есть изящный путь показывать выделенный блок при выборе "select_box" из selecta?

мой говнокод, еще и отказывается работать если таких блоков несколько (

$(document).ready ->
$('#fields select[data-workflow-field-type=true]').on 'change', ->
val = $(':selected').val()

if val == 'select_box'
$('.options').show()
else
$('.options').hide()
>>723977
#449 #723977
>>723975
сорри, вот код: http://pastebin.com/FJR1j82s
>>723980
#450 #723980
>>723977
ой блять, вот:
http://pastebin.com/FXukLLc8
#451 #723983
>>723969
Нет, с расширением то же самое.
>>723986
#453 #724003
>>723986
Вообще не то.
#454 #724031
>>723963
Какой-то баг вебшторма, короче. Обновился до последней версии и всё норм.
sage #455 #724087
>>723898
Ну так добавляй их прототипу в ручную, хуле, это жс.
>>724092>>724107
#456 #724092
>>724087
Ты читаешь жопой.
>>724121
#457 #724107
#458 #724114
>>723900
А что такое чОткая типизация?
>>724125
#459 #724121
>>724092
Не исключено. Покажи пример чего имел в виду.
>>724128
#460 #724125
>>724114

>слышь, братишь, ты по жизни int или float?

#461 #724128
>>724121
Там нить разговора была о сахарной конструкции class из es6 и ее ограничениях (в частности не возможности через нее объявлять свойства в прототипе, а только методы).

Суть объявления вручную, о котором написал ты, что и не нужен был никакой сахар для классов из es6. Он и так прекрасно эмулировался и прежде, если очень хотелось.
А так он не добавил никакого удобства, а лишь добавил путаницы для новичков.
>>724145
#462 #724145
>>724128
Понял, спасибо
#463 #724193
>>723810
Щито? Прото уже является объектом на стадии прогонки кода конструктора, я только добавляю этому обьекту свойство. Ты собсно делаешь то же самое
#464 #724220
Мне кажется, или синтаксис
a = (function() {
switch (b) {
case(1): return 'q';
case(2): return 'w';
}
})();
гораздо няшнее чем
switch (b) {
case(1):
a = 'q';
break;
case(2):
a = 'w';
break;
}
#465 #724222
>>724220
a = ([null, 'q', 'w'])
>>724230>>724293
#466 #724223
>>724220
a = ([null, 'q', 'w'])
>>724230>>724293
#467 #724224
>>724220
лол
a = ([null, 'q', 'w'])\[b\]
>>724230>>724293
#468 #724230
>>724222
>>724223
>>724224
Что это? Типа вместо кейса присвоить сразу массив и брать значение по индексу? Так 1 и 2 это для примера, у меня в задаче свитчится по строке, и кейсов много. Мне показалось изящнее возвращать в свитче нужное значение, от брейков эстетически воротило всегда.
>>724232
#469 #724232
>>724230

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


a = ({
'ololo':'kokok',
'nnnn':'hio'
})
>>724235
#470 #724235
>>724232
Хватит меня тралировать!
>>724238
#471 #724238
>>724235
Почему троллировать.
Чем тебе не нравится вариант с ключом объекта?

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

switch(true) {
case (/..some regexp../ig).test(string): some.action
}
>>724241
#472 #724241
>>724238
Уже нагуглил статеек, курю, спасибо.
#473 #724251
Что скажете по поводу node фреймворка sails? По моему лютая годнота, целый день сегодня колупал и не могу нарадоваться. Но какие подводные камни? Кто-нибудь серьезно разрабатывал на этой хуйне?
>>724261
#474 #724261
>>724251
Он второй по популярности после экспресс, полно проектов на нем.

>какие подводные камни?


Это типичный рельсо/джангоподобный фреймворк. Недостаток один - много магии. Иногда она перекрывает все преимущества. Но для написания магазина/блога это отличный вариант.
>>724263
#475 #724263
>>724261

>Недостаток один - много магии


Ты имеешь ввиду танцев с бубном?

>Но для написания магазина/блога это отличный вариант.


А что-то покрупнее? У меня в голове давненько крутится идея одного стартапа, думал на sails его запилить, потому что ^он охуенен^ я более-менее хорошо знаю JS и мне впадлу учить другой язык.
>>724264>>724279
#476 #724264
>>724263
Бля, разметку спорол. Ну да пихуй.
#477 #724279
>>724263

>Ты имеешь ввиду танцев с бубном?


Нет. Я имею ввиду то, что непонятно, как оно работает под капотом. Оно работает и всё тут, а как - неясно. На экспрессе ты сам составляешь структуру от начала до конца, а здесь просто обмазываем готовое. На Сейлс быстрей и проще разработка, но непонятно, почему и как идет запрос, например.

>А что-то покрупнее? У меня в голове давненько крутится идея одного стартапа


Пили, если это связанно с вебом. Сейлс хорошо подходит для веба, но пилить бэк для онлайн-игры я бы на нем не стал.
#478 #724293
>>724222
>>724223
>>724224
А что делают круглые скобки?
>>724354>>724451
#479 #724304
Подойдет ли JS как первый ЯП для ньюфага?
Не научит ли он меня "плохому" подходу и стрельбе в ноги?
Надо ли читать книги или статей и лекций по нему в инете достаточно?
>>724325
#480 #724313
>>720201 (OP)
помогите с задачей
Реализуйте и экспортируйте функцию invertCase, которая меняет в строке регистр каждой буквы, на противоположный.
http://pastebin.com/mGwjWD2b
>>724319>>724326
#481 #724319
>>724313

>str === str.toUpperCase()


ту аппер кейс – это функция, которая возвращает всю строку в верхнем регистре. Ты во-первых сравниваешь 1 букву с целой строкой, а во-вторых посреди кода изменяешь входную строку. В документации же написано, что эта функция делает, ты в глаза долбишься?
Тебе подойдёт условие
if (str =< 'Z' && str >= 'A')
чтобы узнать, в верхнем ли регистре символ. Если в js так можно сравнивать чары, на самом деле я забыл.
#482 #724321
>>724319
Проще уж регэксп написать тогда.
>>724330
#483 #724325
>>724304

>Подойдет ли JS как первый ЯП для ньюфага?


Да, порог вхождения минимален.

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


Может научить, поэтому

>Надо ли читать книги


Обязательно
21 Кб, 717x336
#484 #724326
>>724335
#485 #724330
>>724321
Реглярки хуйня из-под коня, если можно обойтись без них, никогда их не используй.
>>724334
#486 #724331
>>724319

>str[ i ] =< 'Z'

>>724332
#487 #724332
>>724331
>>724319
Вакаба квадратные скобки и i убирает, потому что это теги, но ты понял.
#488 #724334
>>724330
Поясни за этот случай, желательно с бенчмарками.
>>724337
#489 #724335
>>724326
спасибо
#490 #724337
>>724334
Сгенерируй строку на 100000 символов и проверь.
Да и к тому же если их использовать в более сложных случаях, то они чаще всего превращаются в нечитаемый пиздец, так что не нужно приучаться.
#491 #724353
http://pastebin.com/CfZAebvx регулярка
http://pastebin.com/M2kA5AqC без регулярки
http://pastebin.com/bFetwkV3 еще без регулярки
У меня первое решение оказалось быстрее
#492 #724354
>>724293
Бамп
>>724358
#493 #724358
>>724354
Ничего не делают, можешь опускать.
#494 #724451
>>724293
В данном случае ничего, но в некоторых похожих случаях они необходимы, например если хочешь обратиться к литералу объекта или функции, как к именованным.
{'foo':'bar'}['foo'] //Error
({'foo':'bar'})['foo'] //'bar'
function() { return 'foo' }() //Error
(function() { return 'foo' })() //'foo'
#495 #724468
Господа. Сделал псевдослайдерок, и прикрутил ему подобие анимации через опасити в цсс. Но при загрузке странице анимация отрабатывает на первом слайде.
Я пытаюсь это убрать, допустим, пишу
arr[0].style.animation = "none"
но, анимация у этого слайда не срабатывает больше вообще.
Как можно сделать, чтобы она не срабатывала, только при загрузке страницы? (документ/виндоу.onload и addEventListener('load') не сработали)
#496 #724607
>>724468
сам напиши, джквери не нужна :3
>>724612>>724625
#497 #724612
>>724607
Где он жквери хоть что-то сказал?
#498 #724624
>>724468

Какое жквери, на чистом пишу?
>>724625
#499 #724625
#500 #724633
>>724468

>arr[0].style.animation


Не делай так.
Запили отдельный сss класс где ты резетишь какие тебе надо параметры, и навесь его на нужны элемент, а потом убери, когда надо.
#501 #724637
посоветуйте фундаментальные видеокурсы по javascript
>>724643>>724649
#502 #724643
>>724637

>видеокурсы


Читай статьи.
>>724691
181 Кб, 800x721
#504 #724656
Поставьте в шапку следующего треда эту пикчу.
>>724657
#505 #724657
>>724656
Уже была
#506 #724691
>>724643
какие
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 8 мая 2016 года.

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

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