Этого треда уже нет.
Это копия, сохраненная 31 января 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
238 Кб, 1102x1747
156 Кб, 700x1400
91 Кб, 730x913
63 Кб, 750x493
Официальный JavaScript тред #6 #417595 В конец треда | Веб
Официальный JavaScript тред #6

Предыдущий: - https://2ch.hk/pr/res/410856.html

Шапка тренда переезжает в репозиторий - https://github.com/ID25/js-thread (Делать пулл реквесты с корректировками и ссылками на материалы приветствуется), todo: сделать нормальный, структурированный гайд, посему реквестирую умельцев писарей, а то мне лень.

И так, главные новости последних дней. Ленивые пидарасы из JoyNet движутся со скоростью черепахи, в разработке node.js. От этого не слабо подгорело у стремящихся ребят из этой же компании, и поэтому они ушли. Очень сильная часть разрабов просто выкатилась из джойнета, оставив ноду на произвол судьбы, но свалили они не просто так, а сделали форк, ибо продвигать такое дело необходимо. На замену node.js пришел io.js, который будет активно разрабатываться частью людей, которым это реально нужно. После этого конечно и джойнет начали суетиться, и что то там обещают выпустить новую версию к новому году, но кому оно надо будет?
Вот новость по этой теме: http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html
К слову сказать, технология слишком свежа, чтобы в ней была какая то стабильность и ясность, поэтому сто раз подумайте, прежде чем вкатываться в это хипстерство. Лично я для себя решил вернуться к ноде через годик другой, когда тут уже все будет более менее ясно.
Эта зима принесла не мало бугуртов нам, сначала свежачок от Ангуляр, без привычных нам вещей, теперь раскол ноды (новость кстати тут еще есть : http://habrahabr.ru/post/245013/)

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

Ну ладно, хватит о бугурте. Пока ты листаешь нулевую, Барак Обама играется с canvasom - http://geektimes.ru/post/242701/
Даже ниггер пишет на JS!

Ну и небольшая заметочка для наших хипстерков. Вот задумал ты сделать себе бложик, или портфолио, или еще что, и стал ты думать над выбором домена. А я тебе скажу - тут и думать нечего. Есть только один домен, и это - io.
Это выбор передовой элиты, стартапов, и просто белых людей. Ну сам по суди, salem.ru или salem.com просто убоги на фоне salem.io
Так что одной проблемой меньше, и запомни, все что не io = NOT SO HIPSTER!

Ну а мы тем временем начинаем очередной JS ТРЕНДЖ, пилим скриптопарашу, бугуртим от КАЛбеков, выводим в консоль хелло ворлды, как обычно.

Официальный JavaScript тред #6 объявляю открытым!
#2 #417603
>>417595

>Очередной высер про ненужность jquery


Но ведь jquery и вправду нинужен...

Мимо_осиливший_webapi
#3 #417609
>>417603
Для webapi он и не нужен, но для него написаны миллионы готовых библиотек, которые писать самому слишком долго, проще подключить jquery.
#4 #417610
Кстати о канвасах и прочей хне. Скачал тут демки из туториала к Фазеру, открыл в ФФ и выпал в осадок. Это что за пиздец такой? Чар реагирует на нажатия клавиш с запозданием, раз в несколько секунд всё подлагивает. Написал простенькую дему для канваса на чистом js без всяких сраных фазеров, в которой никаких объектов во время анимации не создаётся - думал из-за сборки мусора лаги. Хуй там: в ФФ как лагало раз в несколько секунд, так и лагает. В Хроме, вроде, всё нормально, но хер знает. Как можно js-игоры делать в таких условиях?
#5 #417611
>>417610
У тебя точно webgl работает?
#6 #417612
>>417611
Работает, конечно. Это тут ни при чём.
#7 #417613
Дайте соусец бородатого мужичка с 2-го оп-пика.

>>417609

>но для него написаны миллионы готовых библиотек


Например?

Jquery - тяжелая параша для быдлокодеров. На мой взгляд, она существует только потому, что существует такие куски говна как IE5-11. Решение тут простое: либо публично отказаться от этих парашных браузеров и писать приложки под богоподобные ff/chrme/opr, либо заставить IE-дев-ов написать стандартизированный апи, как у нормальных людей. Вот тогда и заживем.

>>417610

>Как можно js-игоры делать в таких условиях?


>html/canvas/js/xml


>игры


Ну ты понил.
#8 #417625
Скриптоны, поясните, как делают "плавучие" перезагрузки страниц?
Вот пример сайта: https://www.pinterest.com/search/pins/?q=cars
#9 #417629
>>417625
Обычная динамическая подгрузка. Ничего сложного.

Как то имел дело с torbolinks на rails проекте - проклинал как мог эту хуйню
#10 #417632
Привет, Аноны, хочу глубже разобраться с джаваскриптом. Например, почему его выполнение не линейное и какое вообще оно, и как с этим совладать. С ООП джаваскриптовым тоже очень охота разобраться, ну и чтобы без особых трудностей. Есть какое либо чтиво на эту тему? Спасибо зарание.
#11 #417636
>>417629

>проклинал как мог эту хуйню


Почему?

>>417632
__Добро пожаловать к нашему шалашу__ тебе сюда javascript[.]ru
sage #12 #417644
>>417579

>Я занимался автоматизацией фронтенда, в котором больше десяти тысяч файлов


Браток, грант для этого не подходит. Я про это писал.
#13 #417657
Поясните по ext js 5. Только начал разбираться. Вот есть форма регистрации, вводишь email и нужно повторно ввести Confirm email. Вот, как сделать, чтобы эти два поля были связаны? Вводишь confirm email неправильно, и выскакивает предупреждение, что введен неверный email.
#14 #417668
>>417657
Проверить что значение одного поля равно значению другого?
#15 #417680
>>417657

>ext js 5


Говно.
#16 #417685
>>417613

> Jquery - тяжелая параша для быдлокодеров. На мой взгляд, она существует только потому, что существует такие куски говна как IE5-11.


Зачем же тогда по-твоему существует JQ2.x?
http://jquery.com/browser-support/

> >Как можно js-игоры делать в таких условиях?


> >html/canvas/js/xml


> >игры


> Ну ты понил.


Вот стандартизуют SIMD data types и ParallelJS, тогда и заживём.

>>417632

> Например, почему его выполнение не линейное и какое вообще оно, и как с этим совладать.


евент луп
ну и да, тебе на http://learn.javascript.ru
#17 #417697
>>417680
А Webix (http://webix.com/)? Есть у него какая-та альтернатива с таким же подходом к разметке, но более свободной лицензией?
#18 #417713
>>417680
Что, у маминого хипстора бомбануло от сурового энтерпрайзного фреймворка?
#19 #417720
>>417668
Да, напиши мне форму с созданием нового типа валидации. А не просто a == b
#20 #417721
>>417713
Нет, устроился на новую работу.
#21 #417729
Ребята, чому так сложно все с этим js?
Захотел например подключить депенденси какой-нибудь, уау, круто bower install yoba. Но он его складывает в какую-то хуевую директорию, руками подключать тоже не комильфо, нужна хуйня для склейка
Та-дам, grunt. А для грант нужен еще npm, и в итоге вдрачиваешь еще в корень package.json и Gruntfile.js
Конечно прикольно, но не кажется ли вам, что как-то дохуя много всего?
160 Кб, 637x960
#22 #417734
>>417729

> Захотел например подключить депенденси какой-нибудь, уау, круто bower install yoba. Но он его складывает в какую-то хуевую директорию, руками подключать тоже не комильфо, нужна хуйня для склейка


Попробуй browserify. Ему ты просто указываешь путь к файлу, а он уже подцепляет зависимости и всё сам склеивает, оч удобно.
Ну это как вариант. Так-то и для bower есть всякие плагины типа main-bower-files.

> Та-дам, grunt. А для грант нужен еще npm, и в итоге вдрачиваешь еще в корень package.json


Node тебе и так скорее всего нужна, потому как тестирование, тулзы для сборки, свои скрипты и прочее. Сервер там по-быстрому поднять.
npm идёт вместе с Node. package.json для зависимостей. Можно использовать и bower, но (1) в bower зависимости не рекурсивные, что чревато dependency hell, (2) там нет того, что нужно для сервер-сайда (тестирование, сборка, все дела) и (3) нам действительно не нужно два отдельных репозитория. NPM уже де-факто стандартный репозиторий пакетов для JS, самый большой, что позволяет устроить самый тотальный code reuse.

Короче говоря, node + npm нужны, потому что альтернатив им в общем-то и нет, а Grunt полностью опционален и часто не нужен, как коллеги ИТТ справедливо заявляют.
#23 #417735
>>417729
Ноуп.

>Но он его складывает в какую-то хуевую директорию


Можно исправить, не помню как, создать файлик и прописать директорию.
23 Кб, 320x240
sage #25 #417781
Кто-нибудь билдил фронт-енд на Visual Studio? Что почитать можно по этому поводу?
#26 #417786
>>417613

>Например?


Большинство виджетов от кенды до бутстрапа
#27 #417807
Читаю я тут код одного сайта на ангуляре, и вижу что все менюшки это коллекции объектов, и хтмл для них полностью рендерится рипитами. Это нормальная практика или синдром молотка?
#28 #417814
>>417807
Откуда я знаю? У нас, например, так. Есть структура разных стейтов, которым можно указать, что их нужно отображать в меню. Но для простых сайтов это оверкилл.
>>417781
Не очень понял, как VS будет билдить код, если это просто IDE. Код билдить будет скрипт на nodejs.
>>417729
Нет. Депенденси обычно склеиваются в один файл. Хотя обернуть их все в browserify было бы тоже не плохо. Фронтенд уже как сишный код билдится, только вместо make - gulp, поэтому расслабься.
#29 #417815
>>417735

> создать файлик и прописать директорию.


Ну да, будет не bower_components, а yoba
Смысл же не в этом, а в том что все равно руками его в страницу вставлять, и потом эти портянки тянутся

Но тащемто пох, я уже себе сделал grunt concat, клею все, зависимость есть

Решил научиться ангуляру, подопытный кроль - brainstorage (он же фрилансим по сути). Выкладывать прогресс на всеобщее обозрение или тут одни бяки и ничего советовать не будут?
#30 #417818
Вот например вопрос, допустим я делаю такую шляпу (которая работает)
[code]
.controller('ProjectsListCtrl', ['$scope', '$http', function($scope, $http){
$http.get('jobs.json').success(function(data){
$scope.projects = data;
});
}]);
[/code]
Но $http.get вроде бы возвращает promise. И была такая шляпа, что promise можно байндить во вьюхе и теоретически того же самого можно было добиться сделав
[code]
.controller('ProjectsListCtrl', ['$scope', '$http', function($scope, $http){
$scope.projects = $http.get('jobs.json');
}]);
[/code]
Но почему-то в таком виде оно не работает. Меня обманули?
#31 #417822
Или вот еще например
Есть справа у них такая штука типа Фулл-тайм, Парт-тайм, Контракт, Удаленно. Весь этот блок лучше дериктивой делать, или одну строку и ng-repeat-ом пробежаться?
Туда же про список - сам список должен быть директивой, или только строчка?
(ставлю на строчки, но мало ли)
sage #32 #417823
>>417814

>Не очень понял, как VS будет билдить код, если это просто IDE. Код билдить будет скрипт на nodejs.


>


Я не разбираюсь как там все устроено, сорри.
Может не так что-то объяснил. Есть статьи, где с точки зрения фронт енда поясняют?
#33 #417828
>>417822
У вас директива головного мозга. Не нужно пихать их всюду, это не тот случай.
>>417823

>с точки зрения


>Код билдить будет скрипт на nodejs


>с точки зрения фронт енда


Я от твоей логики сломался.
#34 #417829
Поясните дебилу как сделать йоба движущиеся окна как на дваще? Ну и чтоб картиночки тоже открывались, видосики там, вся канитель. Что будет более по-хипстерски: css3 или js ???
115 Кб, 406x385
#35 #417830
Посоны, нужно чтобы при наведении курсора на див внутрь этого дива добавлялась линия и под ней надпись. При этом у одного из элементов дива бэкграунд менялся с url('1') на url('2'). В теории я понимаю, что нужно юзать что-то подобное [code]$('#elm').hover(
function(){ $(this).addClass('hover') },
function(){ $(this).removeClass('hover') }
)[/code]
Но на деле нихуя не понимаю. Пикрелейтед - то, что нужно осуществить. JS пока касался только поверхностно, по обучалке на generalassembly. А сверстать нужно "уже вчера".
#36 #417832
>>417828

>Не нужно пихать их всюду, это не тот случай.


А где нужно и какой тогда правильный случай?
Я возможно соглашусь с тем, что если есть дериктива для элемента списка проектов/вакансий, то вот эта с типом занятости не нужна
#37 #417855
>>417830
Добавляй черту с кнопкой на все дивы и добавляй им невидимость по-умолчанию и видимость по псевдосвойству :hover родительского клаcса.

.плиточка-с-домиком .кнопочка, .плиточка-с-домиком .черточка{
visibility: hidden
}
.плиточка-с-домиком:hover .кнопочка, .плиточка-с-домиком:hover .черточка{
visibility: visible
}

JS тебе не нужен кроме как для IE6-7.
Вообще тебе должно быть стыдно. Я в своей жизни верстал только на bootstrap и на htmlacademy.ru
#38 #417858
>>417832

>А где нужно


Удваиваю этого нуба. В доках какая-то муть про манипуляцию ДОМом, у меня пока в директивах только один маленький кусок жса который в жквери бы биндился к элементам на которые повешена директива, и один жквери плагин который графики рисует.
#39 #417859
>>417855

>visibility


Для этого конкретного случая. Обычно display.
#40 #417862
>>417858
Я понял идею директив, как способ сделать еще более семантичный лейаут. Где каждый атомарный объект в рамках страницы можно выделить в отдельую сущность. Т.е. вместо
<div class="job-item">
....
портянка, формирующая описание
....
портянка формирующая инфу о клиенте
....
портянка о типах найма например
</div>

Можно сделать например
<job-item>
<job-description/>
<client-information/>
<job-type/>
</job-item>

А на детальной странице например <job-type/> и <client-info/> тоже есть, но например в хедере, можно их там зареюзать

Может это и есть директива головного мозга, как сказал тот анон, но я хотел бы в таком случае какого-то другого объяснения, с обоснованием желательно
>>417832-кум
#41 #417869
>>417832
>>417858
>>417862
Директива - это какой-то отдельный компонент, рассчитаный на повторное использование. Максимально отвязан от контекста проекта. Например - календарь, дропдаун, хайчарт, карта и т.д.
А для инклуда html есть, внезапно, ng-include. А если используете JADE templates на сервере, то еще и jade include/mixin.

>>417829
Абсолютное позиционирование и обработка событий перетаскивания.
#42 #417882
>>417869
Понятно, а ты сам кто? Валютный элитный js-сеньор, или мамкин симпотяга?
#43 #417904
>>417882
А если диванный, то слушать не будешь?
#44 #417909
>>417904
А ты сам бы диванного слушал, будучи недиванным?
#45 #417913
>>417909
Будто ты прям всегда недиванным был.
Диван !== нуб.
#46 #417920
>>417909
Ладно, я не диванный, можешь меня слушать :3
#47 #417922
>>417913

>Будто ты прям всегда недиванным был.


Конечно не был
Но я сейчас не слушал бы себя тогдашнего
#48 #417996
Пацаны, а жаба скрипт это фронтэнд? Я думал фронтэтнд макакам нужно всего-лишь уметь хтмл теги расставлять, а если нет, получается это еще большее дрочево, чем бэкэнд.
#49 #418022
#50 #418026
http://jsfiddle.net/3avggm9r/3/

Почему не работает?

Час сижу уже :(
#51 #418027
>>418026
http://jsfiddle.net/3avggm9r/4/

исправил id, не работает
#52 #418029
>>418027
Лень разбираться полностью, но подскажу, что заметил:
во-первых, у тебя селектор на option. Зачем он тебе ? Тем более на один. Если ты хочешь повесить на каждый, то тебе нужен querySelectorAll.
во-вторых, подозреваю, что option тебе вообще не нужен, нужно вешать на сам select (что-то типа change) и смотреть текущий элемент.
#53 #418031
>>418027
Разобрался. Надо вместо id и option, селект поставить в выборе селектора. Спасибо.
#55 #418157
Заменит ли JavaScript C++ как в своё время кресты заменили C. Не секрет, что сейчас JS становится системным языком. Он уже вырос из веба.

На нём пишутся приложения, графические оболочки, сервера, игры. Не думаю, что на JS будут писать низкоуровневые вещи типа драйверов, хотя кто его знает. На C++ пишутся ОС. JS ничем не хуже.
#56 #418159
>>417859
visibility: hidden - не показывать элемент, элемент продолжает занимать место
display:none - не показывать элемент, элемент освобождает место
sage #57 #418163
>>418157
Ты или толстый, или не имеешь понятия что есть JS. Хотя некоторая доля правды в этом есть, взять тот же Asm.js. Но о масштабной экспансии JS на десктопы говорить не приходится.
#58 #418164
>>418163
сага приклеилась
210 Кб, 1366x768
#59 #418166
>>418163
Chrome OS, Ubuntu SDK, Qt QML, .NET..

Brackets обновился.
#60 #418167
>>418163

Просто ради полноты картины замечу, что невзлетевшие виджеты в Висте и Семёрке писались на JS. И ещё раньше была такая хуйня, как HTA.
#61 #418168
>>418167
Windows 8-10 приложения пишутся на JS.
#62 #418169
>>418168

Значит, сиплюсплюсокапец близок.
211 Кб, 1366x768
#63 #418172
>>418169
MS сама ставит на JS, включая Node.js в VS. Впрочем, возможно это желание пересадить яваскриптеров на c#. Неизвестно.
#64 #418173
Посоветуйте IDE на linux для JS и CS
#65 #418175
>>418173

Имакс же.
#66 #418176
>>418175
А что-нибудь из 2014, с нормальным интерфейсом ?
#67 #418179
>>418176
Emacs.
#68 #418183
>>418176
Atom. Я знаю, что ты просил ide, но никакого профита при использование динамического слаботипизированного языка от нее нет.
#69 #418184
>>418183
Спасибо. Как раз к нему склонялся сейчас использую Brackets, но хотелось бы что-то более быстрое.
#70 #418186
>>418184
Brackets и Atom -- это браузеры, так что хуй тебе, а не скорость.
SublimeText3 очень быстрый, и плагинов дохуя, можно из него такою-то иде сделать, сам охуеешь.
#71 #418187
>>418186
Спасибо, про Sublime совсем забыл.
#72 #418203
>>418157

>Заменит ли JavaScript C++ как в своё время кресты заменили C. Не секрет, что сейчас JS становится системным языком. Он уже вырос из веба.


Гари хорошо спекулирует на эту тему в https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript.
#73 #418205
>>418187
А еще Vim. Он побыстрее даже будет саблайма. Тем более скоро NeoVim допилят (надо бы им помочь, что ли).
#74 #418214
>>418186
Emacs.
#75 #418216
>>418214
Ты серьезно? Его кто использует? Он же ебанутый на всю голову. И эти все C-x C-s
#76 #418217
>>418216

>Ты серьезно? Его кто использует? Он же ебанутый на всю голову. И эти все C-x C-s


https://github.com/syl20bnr/spacemacs
http://truongtx.me/2014/04/20/emacs-javascript-completion-and-refactoring/
#77 #418258
Анон, разъясни. Везде в вакансиях на фронт-енд требуется знание куча технологий, библиотек и хорошее знание чистого js. Я только-только начал джаваскрипт учить. Так вот, как лучше будет поступить, задрачивать js до полного понимания а потом браться за какую-нибудь библиотеку или фрейворк или сразу взяться за ангулар. Сильно не стукайте ньюфага. Спасибо за ответы.
#78 #418262
>>418258
Задрочи сначала JS. Там не так много, есть несколько основных моментов, которые нужно знать, они разжеваны кучу раз в туториалах и статьях всяких. Выучишь - берись за фреймворки, почитай их исходники для укрепления JS и понимания самого фреймворка.
#79 #418263
>>418216
C-x C-s оказываются очень удобными после:
- смены местами CAPS LOCK и левого CTRL (глобально по всей системе)
- назначения частых комбинаций как keychords (http://www.emacswiki.org/emacs/KeyChord), чтобы вместо C-x C-s набирать просто x+s

После этого смотрю на видоблядков как на говно, emacs pinky ушёл прочь.
#80 #418265
>>418262
Спасибо, так и сделаю.
#82 #418278
>>418272
АХАХАХАХАХАХХАХАХАХАХАХА
Сделал мой день.
#83 #418294
>>418278
JS - Сила!
C++Ну да пох, хотя бы GCC - Могила!
51 Кб, 684x727
18 Кб, 685x727
#84 #418309
Может кто подсказать, что за хуйня с моими брекетами?
#85 #418312
>>417595
Зашел в /web и чуть не сблеванул. Как можно вариться в той параше? Не понимат.
38 Кб, 290x218
#86 #418317
>>418309
webkit обновили
#87 #418319
>>418272
Ты не прав.
162 Кб, 765x1024
#88 #418325
>>418317

>нiан

#89 #418343
Привет, JSач!
У меня следующий вопрос - один мой товарищ, нихуёво разбирающийся в веб-программировании и зарабатывающий неплохие бабки этим, утверждает, что энгуляровские роутеры, будь то angular-route или angular-ui-route, очень недоработанные или даже вовсе плохие, поэтому использовать их не стоит. Он даже потиху делает свой роутер. Можете прокомментировать это как-то?
#90 #418344
>>418343
Ты уже спрашивал.
Один кривой, второй унылый. Можешь сделать велосипед, который будет хуже их вместе взятых, а можешь смириться и разработать паттерны и свою обёртку.
sage #91 #418354
>>418343
Ну ебать, 21 век на дворе, пусть разведет срач на эту тему в твиттере/гитхабе. Если прав и сможет обосновать, уверен его послушают, если нет, пусть идет нахуй. Зачем писать свои велосипеды, когда есть чужие?
#92 #418375
>>417595
Блядь, ну что это за слоутред такой? ОП, где весь экшон? Где разрывающие пердаки новости? Хотя бы новости постил. Так можно и пхп-макакой стать..
#93 #418384
>>418354
>>418375
Но кроме этих двух, как я понял, нифига нету? Я не нашёл.
#94 #418396
Сап, /js. Я сейчас просматриваю курс по сабжу. Так вот, там сначала рассматривается ECMAScript-262. Можно сразу писать и просматривать скрипты на нем? Есть ли какая-нибудь IDE?
#95 #418420
Анон, что думаешь насчёт этого типка:

https://github.com/tblobaum

Говорят, он ищет продажника для продвижения его приложения для предприятий. Не мутновато?
#96 #418441
>>418396
Не понял, что ты хочешь. Можешь codeacademy или codewars попроходить. Или винрарную игру Untrusted.
IDE тебе не понадобится: Sublime Text, Brackets, Atom, Vim, Notepad++, Geany, TextMate, GEdit, etc.
#97 #418477
>>418441
Нет, как я понял в разных версиях языка разный синтаксис. И поэтому в некоторых браузерах он некорректно отображается, а то и вовсе не работает.
В уроках препод запускает скрипты через какой-то эмулятор командной строки.
#98 #418484
>>418477
Ты бы хоть погуглил что такое ECMAScript-262, прежде чем вопросы задавать.
#99 #418558
>>418420
Бамп вопросу.

Вообще стоит ли соглашаться продавать чей-то софт?
#100 #418638
>>417595

>Есть только один домен, и это - io.


>indian ocean


>аренда от $120 в месяц


Ебать дибил.
#101 #418640
>>418638

>$120 в год


fix
#102 #418645
>>418638
40 так-то
#103 #418652
Котаны, подкиньте годных идей single-page-application?
Для портфолио делаю. Что-нибудь, для чего есть нормальные psd-шаблоны - хочется кастомизированного лука, не дефоолтный бутстрэп.
#104 #418731
>>418484
Тогда можешь объяснить по-братски как этот код запустить?
http://ideone.com/yNNebK
В туториале он работает. В браузере нет.
#105 #418741
>>418731
Ты совсем нюфак или учишь js в дополнение к чему-то? Дай ссыль на видео, где ты это нашел.
#106 #418742
>>418741
Это курс на специалисте. Я его в складчину брал
#107 #418743
>>418742
В какую складчину? Ты оплатил чтоли? Тогда почему у преподавателя не спросил?
#108 #418744
>>418743
Потому что это видеокурс
#109 #418747
>>418744
Насколько мне известно эти курсы либо продаются для личного посещения либо в формате вебинара, и так и так можно задать вопрос преподавателю.
#110 #418748
>>418747
В общем, ты не в курсе, в чем трабл и почему код не запускается?
#111 #418751
>>418748
Очеивдно проблема в том что ты что-то делаешь не так, и я не прочь разобраться в чем дело. Так ты ответишь на мой вопрос?
#112 #418756
>>418751
Спасибо за беспокойство. Я уже пофиксил проблему. Скрипт запускается через ConEmu
#113 #418759
#114 #418765
>>418652
Пизди любую идею и вперед. Фотошеринг с геотегами, например
#115 #418810
>>418652

>Котаны, подкиньте годных идей single-page-application?


Локальный Двач, где тебе отвечает копипаста.
#116 #418821
>>418420
Что в этом, вообще, может быть мутного? Разве что он спиздил чужую идею закопирайченную.
#117 #418828
Вопрос знатокам.
Аккаунт ID25 на Гитхаб - это тот самый айдиха?
34 Кб, 480x640
#118 #418882
>>418828
А по аватарке на гитхабе не узнаешь? Да ето я)
мимо оп жс трендов
#119 #418889
>>418828
>>418882
О чем речь? Поясните ньюфагу.
5 Кб, 251x232
#120 #418931
>>418821

> спиздил чужую идею закопирайченную


Да ну нах? Дак у меня есть его данные (сам спалил лол, хотел меня завербовать впаривать его говно). Судя по аккам, чел известный. Это такой-то вин вышел бы. Он говорит, что он гений, учился в Стенфорде и ищет лоха для впаривания его гениального приложения. Я, к великому сожалению, не секу в жаваскрипте нихуя.
Что он там спиздил, не подскажете?
#121 #419005
Анон, почему бекбон говно? Инб4 низкий уровень абстракции.
#122 #419094
Посоны, помогите концептуально, как лучше сделать. Недружелюбный жаваскрипт в очередной раз меня злит.

Имеется:
API некоего вебсайта, в котором есть эвент-листенер (сообщения в чате, скажем).
Код, который на каждое сообщение-команду должен что-то делать.
Это что-то может состоять из нескольких команд, которые необходимо выполнить с задержкой относительно друг друга (к примеру, если нужно запостить в чат 3 сообщения, а там антиспам фильтр — мгновенно 3 не пропустит)

Хочется:
Пауза между идущими рядом командами. Абсолютная, то есть стандартное do; wait; do;, а не setTimeout.
Очередь из полученных команд, чтобы обращения разными пользователями записывались и выполнялись последовательно.

В общем, я хочу сделать свой эвент-луп с очередью, но отсутствие delay() или sleep() этого сделать не даёт. Костылики в виде for лупа пока разница во времени не достигней нужной величины — не оче. Говорят, процессор нагружает.

Нужно что-то типа такого:
http://ideone.com/uzkWZq (Код нерабочий, естественно)

На блокировку плевать, браузер более ни для чего не используется (точнее, блокировка даже предпочтительнее, наверное, ведь она упрощает достижение нужного мне функционала).

Ебаться с setTimeout более нет сил, а с эвент-лупом так это вообще будет костыль на костыле с непрекращающимся просчётом нужных зажержек вызова вызова функций внутри функций.
#123 #419154
>>419094
промиз/фьючер
#124 #419155
>>419094
Почитай про промисы и вообще про JS что бы не создавать массив через new Array().
С промисами ты можешь сделать цепочку из действий в зависимости от успешности предыдущего действия. Типа

action1()
.done(function () {
действие выполнено, делаешь таймаут, запускаешь действие 2
})
.fail(function () {
действие не выполнено, сам решай что с ним делать в таком случае
}
27 Кб, 500x388
#125 #419196
>>419094

> Пауза между идущими рядом командами. Абсолютная, то есть стандартное do; wait; do;, а не setTimeout.


Особенности event loop не позволяют добиться задания большей точности времени ожидания, чем с setTimeout: ты не знаешь, каким обработчиком через секунду будет занят поток вычислений и как скоро он кончится. Так что или setTimeout, или активное ожидание.
#126 #419202
>>419155
Цикл?

>что бы не создавать массив через new Array()


Это плохо?
#127 #419203
>>419005
Уровень абстракции, говоришь…
http://youtu.be/fAoSidif1gs?t=20m
#128 #419207
>>419202
Не совсем понял, что с циклом. Если тебе нужно выполнять несколько команд друг за другом и ты не знаешь, сколько их будет, то есть такая вещь как https://github.com/caolan/async .
Метод series, помоему, то что нужно (может что-то другое из этой библиотеки, не помню точно).

>Это плохо?


Нет, но детектирует человека, который перекатился из другого языка и пытается применять его правила и конструкции к JS, а это уже приводит к уродливым и неработающим вещам.
Вот хороший гайд:
https://github.com/airbnb/javascript#arrays
sage #129 #419208
>>417595

> Ленивые пидарасы из JoyNet


Joyent

> На замену node.js пришел io.js


Нет.

> Does Node Forward compete with Joyent or Node.js?


> No.


> We hope to merge with the original Node.js project at some point in the future.


http://blog.izs.me/post/104685388058/io-js
Лишь бы попиздеть.
#130 #419210
>>418931
Бамп последний
40 Кб, 640x360
#131 #419215
>>419207

>Вот хороший гайд:


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

Почему надо использовать одинарную кавычку для строки? Это будет нехорошой привычкой, если ты параллельно пописываешь на C++. Почему именно два пробела вместо таба? Почему надо использовать двойную скобку вместо создания объекта?

Этот гайд локальный для конкретной компании и контрибьюторов их репозиториев. Нет никаких причин брать его за высшую истину и тыкать в него ньюфагов.
#132 #419219
>>419215
Дополню ещё, что почти все эти дебильные правила может соблюдать бездушная машина, не ебя мозги контрибьюторам лишней документацией.
#133 #419228
>>419215
Да, гайд для конкретной компании, но другие гайды отличаются от него в мелочах. Никто не говорит, что это высшая истина и его нужно неукоснительно соблюдать и ни в коем случае не ставить открывающую скобку на новую строчку. Но он облегчает жизнь новичкам в языке. Когда ты приходишь в новый язык и нихуя не знаешь, я считаю, что style guide - неплохой и полезный старт и то, что ты его прочитаешь даёт хоть какую-то гарантию, что ты хотя бы попытался воспринять данный язык как самостоятельный и не тащишь свои привычки с другого языка.
Я основываюсь на том, что меня много раз дергали C#-кодеры, которые писали C# код в JS и удивлялись, почему он не работает. В том числе были и примеры с созданием массива:
Array() даёт пустой массив
Array('a') даёт массив с элементом 'a'
Array(2) даёт массив с двумя undefined элементами

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

В общем, я стайл гайд предлагал из хороших побуждений, а не с целью "тыкать ньюфагов"
#134 #419244
>>419207

>Нет, но детектирует человека, который перекатился из другого языка


Перекатиться-то я перекатился, но из питона. А "учил" я js только по примерам, так как нужен был (пока что) лишь для одной конкретной задачи, и new Array() видел на том же stackoverflow. То есть, лучше просто arr = [] писать? Чем конкретно-то new Array() плох? "неджаваскриптовый" код получается? Впрочем, хотя бы для consistency полезно, ведь ассоциативный я просто {} делаю.

>>419155
>>419154
Спасибо. Промизы сейчас попробую, так-то я о них что-то читал перед этим, но, боюсь, могут не подойти — команда-то "выполняется" в любом случае, ей абсолютно плевать, будет ли какой-то результат или нет, фидбека никакого в сам рантайм не идёт. Ну, не буду гадать.
sage #135 #419253
>>419244

> Чем конкретно-то new Array() плох?


Тем, что new — это костыль, добавленный в JavaScript для того, чтобы люди, знакомые только с классическим ООП с классами (читай: джависты) не путались. Array — функция, а не класс, её можно вызывать напрямую, без new.
Более конкретно — скобочки позволяют дальше расширять массив: [], [1], [1,2], [1,2,3]. Конструктор Array — нет, из-за ебанутого поведения (см. >>419228).

> Впрочем, хотя бы для consistency полезно, ведь ассоциативный я просто {} делаю.


Вот тут как раз для словарей лучше вместо {} использовать Object.create(null).
http://jsbin.com/jojiyosika/1/edit?js,console
#136 #419255
>>419228

> Никто не говорит, что […] ни в коем случае не ставить открывающую скобку на новую строчку.


Но это же так!
http://jsbin.com/kiqejakudo/1/edit?js,console
http://es5.github.io

> 7.9 Automatic Semicolon Insertion

#137 #419260
>>419244
Ты сам определяешь внутри команды, выполнилась она или нет. Либо делаешь
action1().always(function () {
setTimeout(function () { action2() }, N)
})

вместо .done(), .fail()
#138 #419267
>>419255
Да, был не прав. Вот как раз поэтому лучше следовать рекомендациям - что бы не проебывать такие моменты.
#139 #419272
>>419253

>{} использовать Object.create(null).


в редких случаях.
#140 #419334
>>419260

>Ты сам определяешь внутри команды, выполнилась она или нет.


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

>action1().always(function(){action2()})


>TypeError: action1(...) is undefined


и action2() не выполняется (даже с timeout'ом)

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

На примере того же чата. Предположим, есть 2 команды:
sendmessage() — отправляет сообщение
getchats() — позволяет вручную получить в консоль массив со всеми сообщениями чата.

Если я сделаю

>sendmessage('test'); getchats()


То в консольке появится
[ ]
Если же

>sendmessage('test'); setTimeout(getchats,500)


То в консольке будет
['test']

Соответственно, если после getchats() захочется deletechats(), то в первом случае сначала выполнится команда удаления, которая очистит и так пустой чат, а потом уже дойдёт сообщение. Не понимаю, почему так, ведь на сервер они последовательно должны приходить. Пакетики-то, конечно, разными путями могут доходить, но оно никогда не работает (getchats() всегда пустой, если без делея вызывать).

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

В общем, есть возможность в подобном коде http://ideone.com/B3412g получить в консоль цифры по порядку, а не 1-4-2-5-3-6?
Единственный способ, который мне приходит в голову с моим понимаем js и наложенными на меня ограничениями — http://ideone.com/Ma1lmC В принципе, пойдёт и так, вероятно, времена выполнения функций известны, их не так уж и много.

Ну и ещё вопрос. Если функции func1 и func2 имеют аргументы, то .push(func1(args)) я написать, естественно, не могу (сразу выполнится, как и в setTimeout, где нужно отдельно аргументы писать). Есть какой-либо иной способ, или только с как бы "функцией-обёрткой":

>func1wrap = function(){func1(args)}


>queue.push(func1wrap)


>queue.shift()()


?

Я понимаю, что, очень вероятно, хочу с джавой сделать совсем не то, для чего она предназначена, но всё же. Спасибо за помощь, в любом случае. Попробую ещё этот caolan async, хрен его знает, может заработает.

>>419253>>419272
А в чём разница?
#140 #419334
>>419260

>Ты сам определяешь внутри команды, выполнилась она или нет.


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

>action1().always(function(){action2()})


>TypeError: action1(...) is undefined


и action2() не выполняется (даже с timeout'ом)

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

На примере того же чата. Предположим, есть 2 команды:
sendmessage() — отправляет сообщение
getchats() — позволяет вручную получить в консоль массив со всеми сообщениями чата.

Если я сделаю

>sendmessage('test'); getchats()


То в консольке появится
[ ]
Если же

>sendmessage('test'); setTimeout(getchats,500)


То в консольке будет
['test']

Соответственно, если после getchats() захочется deletechats(), то в первом случае сначала выполнится команда удаления, которая очистит и так пустой чат, а потом уже дойдёт сообщение. Не понимаю, почему так, ведь на сервер они последовательно должны приходить. Пакетики-то, конечно, разными путями могут доходить, но оно никогда не работает (getchats() всегда пустой, если без делея вызывать).

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

В общем, есть возможность в подобном коде http://ideone.com/B3412g получить в консоль цифры по порядку, а не 1-4-2-5-3-6?
Единственный способ, который мне приходит в голову с моим понимаем js и наложенными на меня ограничениями — http://ideone.com/Ma1lmC В принципе, пойдёт и так, вероятно, времена выполнения функций известны, их не так уж и много.

Ну и ещё вопрос. Если функции func1 и func2 имеют аргументы, то .push(func1(args)) я написать, естественно, не могу (сразу выполнится, как и в setTimeout, где нужно отдельно аргументы писать). Есть какой-либо иной способ, или только с как бы "функцией-обёрткой":

>func1wrap = function(){func1(args)}


>queue.push(func1wrap)


>queue.shift()()


?

Я понимаю, что, очень вероятно, хочу с джавой сделать совсем не то, для чего она предназначена, но всё же. Спасибо за помощь, в любом случае. Попробую ещё этот caolan async, хрен его знает, может заработает.

>>419253>>419272
А в чём разница?
#141 #419339
>>419334

>Не понимаю, почему так


Впрочем, понял. getchats() обращается не к серверу, а к тому, что в браузере уже записано. А так как пауза между двумя командами почти 0, сообщение от меня к серверу и обратно к мне (в чат) пройти за это время не успевает, я и получаю пустой массив.
#142 #419360
макаки, какую литературу бы почитать о JS? интересует именно особенности языка, возможности, принцип работы и прочее, т.к. я нуб.
6 Кб, 334x171
#144 #419429
>>419334

> А в чём разница?


{} наследуется от Object.prototype, поэтому в нём будут доступны все свойства последнего. Об этом нужно не забывать и в нужных местах делать проверки hasOwnProperty.
Object.create(null) — это просто объект, без какого-либо прототипа (ну т.е. null), в нём будет только и ровно то, что ты сам туда положил.
#145 #419438
>>419384
как будто говна в рожу кинул, спасибо
#146 #419440
>>419438
Ты охуел, что ли, пидор? Почему?((
#147 #419443
>>419334

> Если функции func1 и func2 имеют аргументы, то .push(func1(args)) я написать, естественно, не могу (сразу выполнится, как и в setTimeout, где нужно отдельно аргументы писать). Есть какой-либо иной способ, или только с как бы "функцией-обёрткой"


func1(1,2,3) эквивалентно func1.bind(null, 1, 2, 3)(), поэтому тут надо так:

queue.push(func1.bind(null, arg1, arg2, ...))

Если хочется массивом аргументы передавать, то, соответственно:

queue.push(Function.bind.apply(func1, [null].concat(args)))

Не особо читаемо, впрочем.
#148 #419444
>>419334

> В общем, есть возможность в подобном коде http://ideone.com/B3412g получить в консоль цифры по порядку, а не 1-4-2-5-3-6?


Ты всё неправильно делаешь, коллбеки тебе в помощь.
http://ideone.com/4oGbNt
#149 #419445
>>419444

>напихали в array functions


>ебутся с упорядоченным вызовом оных в цикле


Что вы блядь тут делаете?
#150 #419447
>>419445
https://github.com/joyent/node/blob/master/lib/events.js#L126-129
Посмотрю я, сможешь реализовать систему событий как-то по-другому. (Действительно интересно.)
Массив функций — отличный инструмент.
#151 #419449
>>419447
Другое дело, что автор неправильно его применяет (а ещё setTimeout с какими-то магическими значениями).
#152 #419464
>>419429
Какое-то применение у этого удивительного факта есть?
>>419244

>consistency


Сдохни, мразь.
#153 #419500
>>419464

> Какое-то применение у этого удивительного факта есть?


Эм… ну да.
Если объект использовать как словарь, то даже проверка "'toString' in {}" даёт true, единственный способ узнать, принадлежит ли ключ самому объекту или унаследован — это использовать hasOwnProperty, причём нельзя просто так взять и применить как метод {}.hasOwnProperty (потому что такой ключ тоже может быть) — нужно вызывать его как Object.prototype.hasOwnProperty.call. О чём очень хочется забыть, так как это приходится делать при каждом обращении. И многие забывают, поверьте мне.

В то время как с Object.create(null) всё просто: ключ либо есть, либо его нет. Можно использовать как оператор in, так и просто сравнивать с null/undefined.

В общем, такие «голые» объекты специально и предназначены для использования в качестве словарей. С обычными объектами, в которых набор ключей более или менее фиксирован, такие проблемы почти не встречаются.
#154 #419513
>>419447
Ебать дибилы. Нахуя тут калбеки ваапщи?
Нормальные люди раскидывают в array по type нужные listener и при emit вызывают их по type.
#155 #419514
>>419513
мимо
#156 #419515
>>419514
Какие-то возражения?
#157 #419520
>>419515
Ты блядь вообще не в теме треда. Пример с событиями с коллбеками не связан никак. Читай ветку.
#158 #419526
>>419520

>Читай ветку.


Ну так, кто-нибудь объяснит, что вы пытаетесь сделать? Пока только одни вскукареки и попытки высрать связку событий на клиенте и сервере.

>>419215
Поддвачну тебя. Ссу на головы долбоебам, не умеющим в рефакторинг.А ведь уже 21-й век на дворе
#159 #419530
>>419526

> два пробела вместо таба


Потому что таб отображается по-разному в зависимости от настроек IDE. Алсо, в проекте обязательно находится пидорас, который ставит себе политику отступов «mixed».
4 Кб, 300x57
#160 #419531
>>419530
Время табосрача! Почему именно два?
#161 #419555
>>419215

>Почему надо использовать одинарную кавычку для строки


Потому, что в html-css - используются двойные. А двойные кавычки экранируются одинарными.

>параллельно пописываешь на C++


А если на паскале?

>Почему именно два пробела вместо таба?


Пробелы потому, что табы пидорасит. Два для того, чтобы удобнее открывать на экране два буфера и дерево. Да и просто аккуратнее.

>Почему надо использовать двойную скобку вместо создания объекта?


Это короче и понятней. Для массивов, например, поведение конструктора зависит от типа аргумента, что не улучшает читаемость.
Как-то так.
#162 #419556
>>419555

>Потому, что в html-css - используются двойные. А двойные кавычки экранируются одинарными.


Это ты намекаешь на говнокодеров, которые делают .innerHTML = ?

>Пробелы потому, что табы пидорасит.


Табы пидорасит, если их мешать с пробелами.
#163 #419558
>>419556

>.innerHTML


Иногда приходится. Например в каком-нибудь гриде заюзать простенький темплейт, а переделывать на файлы из-за одной строки западло. Или еще какой-нибудь случай (но это не общая практика).
А еще одна клавиша вместо двух. (' or shift - ')

>Табы пидорасит, если их мешать с пробелами.


Иногда они мешаются, если ты любитель художественного форматирования и комментариев. Плюс можно два раза шлёпнуть по пробелу, если тянуться до таба влом (мозоль на мизинце, например).
#164 #419560
>>419556

> Это ты намекаешь на говнокодеров, которые делают .innerHTML = ?


А как надо?
мимоговнокодер
#165 #419563
>>419560
jQuery, DOM, шаблоны.
#166 #419572
>>419563

>jQuery


Говнокодер детектед.
#167 #419584
>>419563

> jQuery, DOM


Нихуя не понял.
Ко всяким импутам можно через value подлезать. Еще .text где-то ползает.
А как еще можно засадить в, например, див какую-нибудь ерунду?
Чем вообще плох .innerHTML?
#168 #419587
>>419584

>А как еще можно засадить в, например, див какую-нибудь ерунду?


Какую? Если текст, то textContent, если элемент, то appendChild. Хотя текст тоже можно через appendChild добавлять, если создавать его, как createTextNode.
#169 #419588
>>419584

>Чем вообще плох .innerHTML?


Тем, что добавить через него элемент - это значит удалить все имеющиеся и создать их заново, что чревато.
#170 #419590
>>419587
>>419588
Спасибо за разъяснения.
Тааки добавлять элементы через innerHTML и правда как-то не очень, но всякие счетчики и прочую подобную хренотень я частенько делал на его основе. Да и вообще. с текстом работал преимущественно через него.
Теперь буду размышлять.
40 Кб, 600x401
#171 #419595
>>419584

> Чем вообще плох .innerHTML?


Тем, что он смешивает синтаксис JS с синтаксисом HTML (а если там style= есть, то и CSS).
Вынесите вы эти шаблоны в html разметку, сложно, что ли?
#172 #419600
>>418186
Это просто небо и земля ! Спасибо, анон. На стационарном ПК разница не так ощущалась, а вот на ноуте медленность Brackets просто убивала.
#173 #419607
>>417595
какой же скучный бородатый парень на картинке, никакой индивидуальности и намека на креативность. Снова эта борода, снова эта прическа, снова эта "сирьёзность" на лице, снова эти татуировки. Какая скука..
#174 #419619
Интересно, во многих жс-фреймворках есть проблема с датами? Например в фаерфоксе нельзя выбрать 1 января 2014 года в extjs. Да, блядь, даже в последней версии 5.1.
sage #175 #419620
>>419607
ай не пизди-ка
пацан шикарен
сразу захотелось стать фронт-ендщиком
#176 #419622
>>419620

>сразу захотелось стать фронт-ендщиком


Двачну пидорка. Тоже хипстор?:3
46 Кб, 607x367
sage #177 #419631
>>419622

> Тоже хипстор?:3


нее
#178 #419647
Я совсем ньюфаг, не ссыте на меня пожалуйста. Первый день изучаю js. И у меня вопрос. Нельзя задать несколько if одновременно? Допустим открывается окно и пользователь вводит туда текст. Если текст один - один результат. Второй текст - второй результат. А если вводит что то, что не соответствует этим двум вариантам - срабатывает else. Но я так понял, if может быть только один?
sage #179 #419651
>>419647
if () {
..
} else if () {
...
#180 #419662
>>419651
Ну так это последовательно, ему-то нужно одновременно!
sage #181 #419664
>>419662
if () { if () {
.. ..
} else if () { } else if () {
... ....
#182 #419672
>>419662
Что не так-то? Текст не может быть одновременно и 1, и 2.
http://www.w3schools.com/js/js_if_else.asp Вот даже с комментами.
#183 #419730
>>419664

>if () { if () {


А что, в && тоже какая-то засада есть?
#184 #419806
>>419563
Студентов, ранее изучавших jQuery, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C)
#185 #419810
>>419806

Jquery это просто библиотека функций упрощающих программирование.

А выше jquery находятся mvc типа angularjs.
#186 #419815
>>419810
Меньше букафф != упрощение.
Императивно мутировать дом это ж пиздец.
Да тормознутопрожерливый Sizzle тоже не подарок.

>angularjs


Уебанское говно с дёрти-чекингом
#187 #419819
>>419815

Но ведь писать на голом жаваскрипте это тоже самое что писать на ассемблере или си. Долго и опасно и будет тормозить.
#188 #419822
>>419806

>Студентов, ранее изучавших javascript, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C)


пофиксил долбоеба
#189 #419827
>>419822

>Студентов, ранее сидевших на дваче, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C)


Вот теперь правильно.
#190 #419839
>>419827
>>419822

>Двачерпидоров невозможно обучить программированию. Как потенциальные подопытные они подверглись необратимой умственной деградации и утратили возможность в обучение. (C)


Пофиксил даунов.
#191 #419843
>>419822

>Студентов, начавших изучение программирования с javascript, практически невозможно обучить байтодрисне. Как потенциальные системные программисты они подверглись необратимой умственной деградации. ©


fixed
#193 #419868
>>417595
Опаньки. Да тут веб-петушатник собрался.
#194 #419872
Можете по хардкору пояснить, в чём разница между while и do.while? А то я не понимат.
#195 #419875
>>419872
while сначала спросит разрешение потом въебет, do while сначала въебет разок и только потом спросит разрешения продолжить.
#196 #419877
>>419875
Спасибо, я и думал, что что то подобное, но не верил.
#197 #419917
>>419875

Как бы я хотел, чтобы в учебниках описывали механизмы именно так.
#198 #419925
Ребята, наверное, не совсем по JS вопрос, но всё же, у меня есть форма, к которой я перед отправкой с помощью JS добавляю скрытые поля с доп. данными, так: <input type="hidden" name="field_array[]" value="name">. Есть список, я прохожу по нему лупом и на каждой итерации добавляю вот это скрытое поле.

Но теперь у меня появилась необходимость для каждого такого элемента списка добавлять не одно значение, а 3, они у меня закреплены у элемента списка аттрибутом data-value. То есть, нужно уже не одно скрытое поле добавлять, а три, и так, чтобы они были связаны друг с другом, как это сделать?
#199 #419932
>>419925
Судя по твоему описанию, у тебя в теле цикла добавление инпута, что мешает хуйнуть туда же три инпута?
#200 #419934
>>419932

Но ведь тогда массив пополнится 3-мя разными атрибутами data-value, которые никак не будут связаны между собой, а нужно, чтобы они были связаны. Ну например, вот добавляешь ты на каждой итерации цикла инпут с названием кино, а теперь ты хочешь название, режиссёра и год выпуска, они ведь связаны должны быть все, а не в общей куче?
#201 #419953
>>419934
Если хочешь, чтобы они были "связаны", придумай атрибут, по которому будут связываться, например, cinemaName.setAttribute("cinema", "ARMAGEDON"),
directorName.setAttribute("cinema", "ARMAGEDON"),
productionDate.setAttribute("cinema", "ARMAGEDON").
Ну и сделай объектную модель, и напиши функцию, чтобы это вручную кадый раз не писать, а циклом по элементам проходить.
#202 #419954
>>419819
Ну user-скрипты или расширения для хрома по-другому писать - это обосарться, или они много весить будут.
#203 #419955
>>419810
Ангуляр разве не точно такая же библиотека функций?
#204 #419956
#205 #419957
>>419730
Двачую.
Есть только одна засада. Если в одном из выражений && у тебя undefined, то будет ошибка, поэтому нужно ккаждый раз еще и на undefined проверять в таких выраениях.
#206 #420025
>>419953

А толку, как это потом на сервер передавать в связанном виде?
#207 #420043
>>419957

> Если в одном из выражений && у тебя undefined, то будет ошибка


Почему ошибка?
#208 #420046
>>419954
С хуя ли?
В npm очень много нормальных модульных пакетов, выполняющих ровно одну чёткую задачу. Часто в каждом всего несколько функций.
Такие пакеты можно не бояться подключать в любых количествах и собирать в один бандл с помощью browserify, оверхеда не будет практически никакого.
#209 #420097
hta умеет ajax? если не умеет, то какие есть альтернативы?
#210 #420238
Анон, помоги, нихуя не понимаю:
http://jsbin.com/jopemamitu/1/edit?html,js,console

Почему при передачи в качестве параметра 12 выводит isnt 12 и наоборот ?
Пример подобного использования switch взят со страницы CofeeScript.org
#211 #420239
>>420238

case 12:
23 Кб, 655x337
#212 #420240
>>420239
>>420239
Нет, суть в том, что в switch передается (false), а условие проверяется уже именно в case.

На пике пример из доков.

Вот посмотрел внимательнее на пример и увидел, что в case инвертируется результат (т.е. в моем случае нужно делать !== 12), но так и не понял, почему.
#213 #420243
>>420240

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

В любом случае, все метки сверяются с фолсом. Поэтому return "is 12"; сработает только тогда, когда "value !== 12" неправда.
#214 #420263
>>420243
Я пишу код на CS не по своей воле, сталкиваюсь с проблемой и смотрю, во что он компилируется. А компилируется он в такую вот конструкцию, как на пике.
Про метки понял, спасибо. Только не понял, нахуя CS в switch ставит false и инвертирует условие, когда можно было бы сравнивать с true и не ебать мозги человеку, читающему код ?
#215 #420264
>>420263

Инвертирование приводит к булевому типу же.
#216 #420268
>>420264
Какой же я тупой сегодня. Спасибо.
#217 #420270
>>420268
сегодня и вчера, завтра и всегда)
#218 #420273
Пацаны, а вы где программируете?
Какое у вас окружение?
Что используете?

инбифо: мак в старбаксе
#219 #420306
>>420273
elementary os макось для бедных и sublime 3 по совету анона. Очень не хватает Git Extensions с винды, а на с помощью mono завести её не удалось.
#220 #420325
>>420264
А можно подробнее? Чем true-то не булевоц и зачем там вообще true/false, если функция возвращает букву?
#222 #420327
>>420273
mac+total_terminal+sublime+gulp+little_black_book
#223 #420334
>>420326
У меня были подозрения, это не зря!
60 Кб, 596x900
#224 #420335
>>420273
Win+cmd(shell)+Idea(god mode+many plugins)+gulp(местами grunt)+VM(lowest lvl)+standart_web_stack(middle lvl)

>>420326

>плохая документация


Поддвачну. Когда-то искал референс, на сайте наткнулся на мануал, после прочтения пары артиклов понял, что мне вообще нужен был их "тутор", который больше походил на какой-то обоссано-смешанный апи с рефернсом. Чуть не сблеванул с "удобочитаемости" тутора. С тех пор подумываю переКОТываться на реакт. Кто что хорошего скажет, стоит ли?
#225 #420342
>>420326
очередные вскукареки неосилятора
#226 #420345
>>420306

>elementary os макось для бедных


Быстро хочу у тебя спросить, учитывая, что она построена на основе Убунту, это означает, что всё для Убунту идёт, как и должно, на Элементари?
#227 #420346
>>420345
Разве есть что, что идёт на убунту, но не идёт на других линуксах (с нужными библиотеками, если это qt/gtk)¿
#228 #420347
>>420346

Я вообще, не разбираюсь, на всякий случай спросил, потому что только что заходил посмотреть, если ли Тимвьюер на Линукс, а там для крупных дистрибутивов свои версии, поэтому решил спросить, на всякий случай.
#229 #420349
>>420347

> elementary OS is a Linux distribution based on Ubuntu.


> Being Ubuntu-based, it is compatible with its repositories and packages.

#230 #420352
>>420349

Спасибо.
#231 #420353
>>420325

>не булевоц



Тем, что на месте "value !== 12" может стоять любое выражение любого типа.

>>420347

Там пакеты для разных менеджеров, которые принято ассоциировать с крупными дистрибутивами.
36 Кб, 306x312
#232 #420354
>>420353

>Тем, что на месте "value !== 12" может стоять любое выражение любого типа.


То есть? Что со скриншотом не так и где и почему оно сломается? Не вижу разницы, с true кейс сравнивать или с false обратный кейс.
Я мимоанон.
#233 #420355
>>420354

На скриншоте всё нормально, но вместо сравнения там может быть число, например. Вот такой код сломается:

var huy = 10; // 10 это тру, но не равно true
switch (true) {
case huy: return "A";
default: return "B";
}

А такой нет:

var huy = 10;
switch (false) {
case !huy: return "A";
default: return "B";
}
#234 #420356
>>420355
А в чём смысл такого кода? Сбивающая с толку имплементация typeof(foo)!="undefined"?

Алсо,
var foo
!foo

>> true


Так и задумано?
1304 Кб, 300x300
#235 #420357
>>420356

Ничего не понял.
#236 #420361
>>420335
Конечно стоит
#237 #420373
Анон, посоветуй годную идею веб апп для сервисного центра ремонта пек и другой техники. Я серьёзно.
#239 #420377
>>420376
Ну, бля, я же серьёзно, мне через месяц сдавать практику нужно.
#240 #420378
>>420377
Я тоже серьезно. В манямирке можно придумывать "идеи" для такой простой задачи.
В реальном мире пацаны натягивают красивый шаблон на вордпресс и начинают зарабатывать бабло с минимальными вложениями.
#241 #420379
>>420376
Значение знаешь?
>>420377
Сделай сервисный центр с сервисом доставки пиццы курьерами, заодно traveling salesman решишь.
#242 #420383
>>420345
Да, всё идёт, даже убунтовские баги. Сейчас вот собирают деньги на то, что бы разработчики смену раскладки починили, лол.
sage #243 #420387
>>420383
лол)))
#244 #420418
>>420326
А на хабре что, за спиженные статьи не гонят ссаными тряпками ? Читал статью на английском (не могу её найти сейчас) пару недель назад, там аргументы те же и в том же порядке и даже примеры совпадают.
#245 #420422
>>420357
Ну, !huy будет false всегда (кроме 0 или false). Получается, case !huy, фактически, просто проверяет, имеет ли huy вообще хоть какое-то значение.
Конечно, так как !0 даёт true, эту хрень можно использовать в местах, где huy инкрементируется и узнать, когда он больше нуля, но почему бы не написать huy>0 и не сравнить, опять же, с true?
Просто выглядит это всё каким-то целенаправленным усложнением ради хрен пойми чего.
#246 #420426
>>420422
т.е. !foo = false почти в тех же случаях (кроме упомянутых 0 и false), когда "typeof(foo)!='undefined'" = true
#247 #420437
>>420422

>почему бы



Потому что этот код генерирует машина - конпелятор Кофескрипта. А что уж там программисту заблагорассудится - надо учесть все варианты.
101 Кб, 794x219
#248 #420445
>>417595
Суп, скриптоны. Есть специфическая задача распарсить array со strings в JSON объект. Как её решить? Может уже придумали убер-парсеры, жующие любые strings в JSON?
Выручайте, с меня нихуя.
#249 #420449
>>417595
Поясните за WebShtorm. Годнота?
#250 #420450
>>420449
Лютая. Практически не тормозит на распределенном кластере.
#251 #420459
Анон, поясни за отличия между RxJs и Bacon.js. Судя по описаниям и кускам кода, они практически идентичны. В FAQ бекона написано, что они более попенцоцные, а также называют вещи другими именами. Майки вообще молчат на эту тему. Есть среди вас попробовавшие и то, и другое?
#252 #420463
>>420445

Я бы методом http://devdocs.io/javascript/global_objects/string/split попробовал, хуяришь точку в качестве разделителя и по очереди забираешь стринги, формируя новый объект.
#253 #420465
What's the difference to RxJs?

Bacon.js is inspired by RxJs and has similar concepts. The main difference in the design is the existence of two flavors of Observables: EventStream and Property, each of which have clearly defined semantics. The RxJs Observable does not tie the semantics as tightly. For instance, in RxJs there are "hot" and "cold" observables that behave differently even though the expose the same Observable interface.

Also, Bacon.js is fully open-source and has (arguably) better documentation.

https://github.com/baconjs/bacon.js/wiki/FAQ
#254 #420466
>>420449
Вообще - годнота. В случае с js - бесполезная хуйня. Для js вообще подойдет любой редактор текста с подсветкой кода.
#255 #420467
>>420463

>devdocs.io


Где же ты раньше был, няша? А я ебусь, читаю апишки на всяких msdn mozzilla и прочих парашах.

>string.split


>и по очереди забираешь стринги


Попробую не проебаться.
157 Кб, 426x552
sage #256 #420477
>>417595
В следующем треде внесите в фак/шапку
http://habrahabr.ru/post/240219/
#257 #420479
>>420477
Но книга ведь говно.
sage #258 #420491
>>420477
нахуй иди
уже в шапке всё
#259 #420515
>>419925
Ты наркоман, не могущий в нормальное описание задачи. Выдели смысловую часть задачи в виде жс-кода и оставь здесь jsfiddle или codepen ссылку.
#260 #420528
>>420479
Но почему, няша?
#262 #420532
[code]Test[/code]
#263 #420534
Прохожу курсы на кодакадемии. Нихера не понятно. Вот поясните, что делает этот кусок кода? http://jsfiddle.net/cx5mmvrr/
Во-первых, friends - это же объект. А bill и steve, получается - свойства объекта? Но что же тогда firstName и lastName? Свойства свойств? И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for. Может кто доступно объяснить?
#264 #420540
>>420534
friends - это объект конечно, но почти все есть объект, так что, то что заключено в такие скобки {} считать dictionary или hash. Это такой именованный массив(нагуглишь сам.)

>А bill и steve, получается - свойства объекта?


Можно сказать и так, а вообще лучше прочитай про ООП, хоть жс это и функциональщина, но в твоем примере надо знать ООП.

> И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for. Может кто доступно объяснить?


Ты совсем нюфак чтоли? Алсоу у тебя цикл неправильно написан. Вот как надо, чтобы вывести имя каждого друга.
var list = function(){
for (friend in friends){
console.log(friend.firstName);
}
};
#265 #420585
>>420445
Для этого есть готовые модули.
Пример: https://www.npmjs.com/package/dot-object
Можно что-то другое найти, мне лень.
#266 #420587
>>420534

> Во-первых, friends - это же объект. А bill и steve, получается - свойства объекта? Но что же тогда firstName и lastName? Свойства свойств?


Объект в JS — это набор пар ключ—значение. Ключ — строка, значение — что угодно.
В твоём примере "bill" и "steve" — ключи в объекте friends. Значения по этим ключам — тоже объекты, с ключами firstName, lastName и т.д.

> И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for.


for (key in object) в JS — это цикл по ключам объекта.
Если ты понял первую часть поста, этого должно быть достаточно.
#267 #420652
>>419953

Это снова я. Оказывается, двухмерный массив можно отправлять формой с клиентской стороны таким образом:

<input type="hidden" name="list_name[' + i + '][]" value="' + currentListElementsValue + '">

Где i — автоувеличивающийся индекс цикла. То есть, вместо list_name[], как обычно принято делать при комбинировании информации одного типа, в начале вставляется индекс, а потом вот эта фича PHP с добавлением квадратных скобок в конце. Я понятия не имел, что так можно делать.
#268 #420653
>>420652
Поистине, PHP - язык богов, что позволяет делать такие вещи.
#269 #420656
>>417595

> только один домен, и это - io


А если занято, то какие пробовать? xyz? pro? guru? wtf? Хочу одну тулзу вывесить.
#270 #420657
#271 #420658
>>420653

Я сказал это с иронией, ведь очень многие эти скобки называют сраными костылями.
#272 #420671
>>420540

>Ты совсем нюфак чтоли?


Ага, только неделю учу.
>>420540
>>420587
Спасибо, теперь понятнее стало. Последний вопрос. Вот допустим функция for(key in object). Что делает key? С object понятно, указывает на объект, который обрабатывается. А что за key? На что он указывает?
#273 #420676
>>420671

На ключи элементов этого объекта. Они тоже хранятся в нём. Если у тебя есть объект:

var ob = {"a": 10, "b": 20, "c": 30};

То цикл:

for (var key in ob) console.log(key);

Выведет:

"a"
"b"
"c"

Можно вывести значения:

for (var key in ob) console.log(ob[key]);

Вот они:

10
20
30

Учти, что ключи хранятся в случайном порядке.
#273 #420676
>>420671

На ключи элементов этого объекта. Они тоже хранятся в нём. Если у тебя есть объект:

var ob = {"a": 10, "b": 20, "c": 30};

То цикл:

for (var key in ob) console.log(key);

Выведет:

"a"
"b"
"c"

Можно вывести значения:

for (var key in ob) console.log(ob[key]);

Вот они:

10
20
30

Учти, что ключи хранятся в случайном порядке.
#274 #420678
>>420676
И сразу вопрос: почему ob, а не o или obj?
#275 #420680
>>420678
Прост))
Ты еще спроси почему в циклах i все время ставят.
#276 #420681
>>420678

Ты серьёзно? Это принципиальный вопрос? "o" как-то непривычно бы в коде выглядела, она же ноль похожа. А "obj" возникает желание развернуть до "object", но сократить-то хочется. Поэтому "ob".
#277 #420684
>>420681

> Это принципиальный вопрос?


Да. Я чувствую некоторую неловкость от ob. Выглядит как полумера. object писать не надо, это в некоторых языках - зарезервированное слово, будет смущать любого программиста на другом языке (ну в джаве точно резерв).
Может причина в том, что ob выглядит как аббревиатура, незнаю.
Если бы у меня в команде был чувак, написавший ob, я бы ему вломил пиздюлей, например.
#278 #420687
>>420680

>почему в циклах i все время ставят.


А что вы используете, когда i ЗАКАНЧИВАЕТСЯ? Я k и j по какой–то неведомой причине, дальше этих не доходило вроде.
#279 #420689
>>420684

Мне тоже показалось это название каким-то неполноценным, в реальном коде я бы такого не допустил. Да и называние переменной "object" - несёт столько же смысла, что и "ofm3434de". Но раз уж код демонстрационный, мне показалось допустимым внести некоторую вольность - те же циклы в одну строку.

>object писать не надо, это в некоторых языках - зарезервированное слово



По этой причине мне и хотелось его сократить. Хотя в Джаваскрипте оно свободно.
#280 #420691
>>420687

>по какой–то неведомой причине



Потому, что они в алфавите дальше идут?

>дальше этих не доходило вроде



Дохуя вложенные циклы - не очень круто, но если припекает, то я бы просто продолжил l, m, n...
#281 #420692
>>420691

>Потому, что они в алфавите дальше идут?



А, ну и в математике они приняты тоже для индексов у матрицы, переменных при суммировании и всего такого. Оттуда это i и пошло, а за ним и j, и k.
#282 #420702
>>420691

>Потому, что они в алфавите дальше идут?


Веришь—нет, икогда об этом не задумывался.
#283 #420708
Подскажите топ-3 нормально развивающихся фреймворка для node.js. Посматриваю на метеор, конечно, но в моем проекте будет минимум надобности в мгновенно обновляющихся данных. Максимум, что будет - это комменты и оповещения (ну может еще записи). Стоит ли ради этого заводить метеор ?
#284 #420709
Если больше трех циклов, значит кодир делает что-то неправильно исключая случай, когда это хитро выебанный алгоритм. Но начнем с того, что даже один цикл for () - это аутофелляция в наши дни. Дали вам map, дали forEach, fold в либах, не хотим, хотим жрать циклы for ().

>>420708
Метеор как розовая дилда, все красивенько но имеет тенденцию хранить кучу хуйни в глобале, не сделаешь нормальную модульность (по типу DI в ангуляре или require()). Если тебе нужно только немного пуш-уведомлений, используй socket.io с нодой
#285 #420710
>>420709
А фреймворк-то, фреймворк-то какой использовать ? Из того, что на слуху, помню только locomotiveJS. Есть что про него сказать ?
#286 #420711
>>420710
Че ты хочешь от меня? Опиши задачу подробно, я не болгарская гадалка.
#287 #420714
>>420711

Хуле ты не болгарская гадалка–то, слышь?
#288 #420716
>>420711
Назвать два-три фреймворка на ноде, которые достаточно активно развиваются и применимы в реальной жизни, а также поделиться впечатлениями от них.
Проект не важно какой, пускай будет соц. сеть с фотошерингом и геотегами или имиджборда я сам еще не до конца придумал
tl;dr: просто хочу почитать, чем сейчас в основном пользуются. Вот еще наткнулся на SailsJS и TotalJS. Что выбрать то ?
#289 #420718
>>420716
Очевидный саилс. Тотал 1) назван как говно, это блядь важно в серьезном софте 2) куцый гитхаб, в 4 раза меньше коммитов, в 8 раз меньше лойсов.
хотя зойчем тебе это всё, рельсы въеби и делов
Это в бакенде, на фронтенд что угодно воткни - хочешь КАРЬЕРЫ, ангуляр, хочешь ПЕРСПЕКТИВ - react
#290 #420719
>>420718
Если фуллстак - я бы еще derby попробовал, кстате. Он свободен от названных мной выше проблем метеора.
#291 #420720
>>420718
На счет фронтенда я более менее ориентируюсь, вопрос в бекенде. Спасибо за советы, буду читать про sails.
в рельсы не умею и не уверен, что хочу
81 Кб, 838x182
#292 #420766
>>420467
>>420445
Всё. Задача решена.

>>420585
Почти то, что нужно, но я уже написал свой костыль.
40 Кб, 600x600
#293 #420814
>>417595
ЭТИ ЕБАННЫЕ АСИНХРОННЫЕ КАЛЛБЕКИ ДОЕБАЛИ УЖЕ СУКА, НУ БЛЯДЬ КАК, НУ КАК БЛЯДЬ ИЗВЛЕЧЬ DATA ИЗ STREAM, КОГДА СУКА ЕБАННЫЕ КАЛЛБЕК РЕАЛИЗОВАН НАТИВНО И КЛАЛ ХУЙ НА ПЕРЕМЕННЫЕ JS БЛЯДЬ НУ ЧТО ЗА ПИЗДОС ХОЧЕТСЯ ВЗЯТЬ И УЕБАТЬ РАЗРАБАМ НОДЫ ЗА РЕАЛИЗАЦИЮ СЕРВЕРА ЧЕРЕЗ АНУС ИХ МАМАШ
#294 #420890
>>420814
https://github.com/caolan/async
Чем тебе не нравится?
#295 #420893
Вечер в хату js-бояре. Есть вопросец.
<form class="contactform" method="post" action="/?spasibo" id="contactform2">
Чё эт такое? Хочу прикрутить к страничке ajax-отправку данных на сервер без пиризагрузке, что за action такой интересный?
#296 #420894
>>420893
Thanks? perevoditsa

Сергей, web-консультант
#297 #420895
>>420894
Я имел ввиду что происходит дальше? Например если бы было так action="send_mail.php" было бы понятно что и куда отправляется, а тут что происходит?
#298 #420896
>>420895
action="/index.php?spasibo" - так понятней?
#299 #420904
У кого-то был опыт работы с orm-2 для Node.js? Не могу простой круд сообразить.
#300 #420905
>>420896
Вообще-то по-умолчанию index.phtml, так что /index.phtml?spasibo
#301 #420915
В /web не ответили, спрошу уж тут. Как сохранить тред, чтобы при наведении курсором открывался ответ (т.е. был идентичен онлайн треду)?
#302 #420916
>>420915
ты имеешь в виду Java Thread? Тебе в программач про многопоточность.
#303 #420917
>>420916
Ну вот, чтобы при наведении на твой ответ, он раскрывался как сейчас. С год назад заменял нарытым mobile.css, сейчас он не работает.
#304 #420918
>>420917
Что ты блядь несешь? У меня через ctrl+s все сохранилось и открывается. Трал что ли?
#305 #420921

>420918


Хуй пойми, в хроме все норм, в лисе нет. Сойдет, спасибо.
#306 #420929
>>420540

>Алсоу у тебя цикл неправильно написан. Вот как надо, чтобы вывести имя каждого друга.


>var list = function(){


>for (friend in friends){


>console.log(friend.firstName);


>}


>};


Теперь пишет
undefined
undefined
99 Кб, 600x600
#307 #420934
>>420890

>Чем тебе не нравится?


>async

#308 #420970
Анон, ньюфаг ИТТ все в машину. Доставь каких-нибудь заданий связанных с JS, а не «сделай сап, обмазавшись говном» на твой вкус, чтобы я немного попрактиковался в языке. Допустима необходимость прибегнуть к CSS при решении задания.
Пост уровня школоты, понимаю, но всё же.
#309 #420981
>>420970
Сапёр.
#310 #420994
>>420970
Ебани сапера, базарю, еще захочешь.
#311 #420995
>>417595
Как вы относитесь к попыткам превратить функциональный язык в объектно ориентированный.

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

Так если функции это всего лишь обёртка над объектом, зачем возводить ненужные сущности?

Даёшь классы, наследования без прототипирования!
#312 #421000
Короч, поставил себе цель стать Front-end разработчиком, стильным хипстером как на втором пике. Признаюсь, мне понравился образ челкаря с Mac'ом. Стартап, буткемп, хакатон вот это всё звучит охуенно.

Установил Sublime Text, изучил HTML5/CSS3, ознакомился с БЭМ, LESS. Учу английский и разбираюсь с Git.

Но я не улавливаю саму суть. Что вообще такое front-end? Где можно посмотреть какой-нибудь доклад-введение в эту тему? Хочу чтобы мне, гуманитарию, научно-популярным языком всё объяснили.

И как подступиться к JS? Сразу читать книги по нему из ньюфаг-треда или усвоить основы программирования в целом?
#313 #421002
>>420995

>Даёшь классы, наследования без прототипирования!


Заткните вот эту пхп-макаку на её парашу, плиз.
#314 #421004
>>421000

>Установил Sublime Text


Снеси эту хуйню без задач и поставь Brackets. Все настоящие фронт-энд специалисты пишут на Brackets. Саблайм - это для школьников, которые только вчера прочли на хабре статью о вёрстке и решили стать успешными. Ограниченность саблайма будет постоянно мешать тебе при создании страниц сложнее заголовок-текст-футер.
#315 #421012
>>421004
Да где же вас поехавших берут в таких количествах. 'Или пишешь в таком же редакторе, что и я, или фу, школьник"
131 Кб, 300x450
#316 #421014
>>421004
Где ж ты был раньше?
Это просто ОХУЭННО!!!
Спасибо анон.
#317 #421018
>>420970
Блэк джек напиши
#318 #421021
>>420970
Или еще пример - иногда требуют увеличить с производительностью фронт енда. Найди всякое говно, которое написано на фреймворках или петушинном жквери и перепиши на чистом жс.
Сразу тебе будет и понимание жс, жквери и цсс. Если даже простой петушинный слайдер с плавной прокруткой сделать.
#319 #421024
>>420929
for (friend in friends){
console.log(friends[friend].firstName);
}

for in возвращает на каждом шаге ключ, а не его значение.
#320 #421026
>>421004
Обосрался с этого специалиста по футерам.
#321 #421037
нужно скрыть на двачах все комменты в открыто треде в которых нет строки
Ответы: >>8934829 >>989324 (цифры любые)

как это сделать?
#322 #421046
>>421037

var a = document.querySelectorAll(".post-wrapper");
for (var i = 0; i < a.length; i++) {
if (a.querySelector(".ABU-refmap").style.display == "none") {
a.parentNode.removeChild(a);
}
}
#323 #421047
>>421004
Дико угорел с Brackets, пока не пересел на ноут, на котором едва различимые (но всё же) тормоза на настольном ПК превратились в ощутимую задержку. Перешел на Sublime, всё летает. Теперь обмазываюсь плагинами потихоньку. Посоветуйте какой-нибудь маст хэв (но не самое очевидное)
#324 #421048
>>421046

Мочаба вырезала всё, что в квадратных скобках, так что соси.
14 Кб, 257x350
#325 #421049
Реквестирую скриптик jquery который будет принимать данные с формы и отправлять их в php скрипт.
#326 #421051
>>421049

form.submit();
#327 #421052
>>421047
Ну правильно, Brackets же в отличии от Саблайма полноценная IDE. А Саблайму то чего лагать, это же блокнот с подсветкой слов.
#328 #421057
>>421052
Ну хватит же, жир течёт. В отличие от сайблайма, брекетс внезапно браузер и единственная его киллерфича в удобстве верстания статики. Другого применения я ему не нашёл. А IDE так вообще нинужны в вебе.

>>421047
AdvancedNewFile, Quick File Move, SublimeLinter, PlainTasks
#329 #421059
>>420418
Это перевод. На хабре переводы всегда замаскированы под оригинальные статьи.
#330 #421062
>>420895
Макака блядь. В любом случае отправляется запрос на сервер. Как ты на сервере обработаешь, так и будет. Мне блядь стыдно с такими индустрию делить.
#331 #421063
>>421049
Ладно давайте по порядку. Как связать форму html c jquery?
#332 #421065
>>421057
Спасибо, добра тебе.
#333 #421067
>>421059
Но обычно же внизу есть ссылка на оригинал, иконка Z->Я и т.д.
>>421063
Почитай про http://htmlbook.ru/html/form . На адрес, который ты указываешь в форме будут отправлены данные из формы. А дальше ты их обрабатываешь в своем пхп как хочешь. Ни JS, ни JQuery тебе в этой задаче не нужны.
#334 #421089
Подскажите, почему не работает http://jsfiddle.net/be2onubo/

Должно добавлять в массив res числа от 2 до 10 при условии, что это число не делится ни на какие другие числа младше себя, кроме единицы.
#335 #421091
>>421067
Пасиба.
sage #336 #421093
>>421089
простое тип)))0
#337 #421115
>>420528
Бампую свой старый вопрос. Почему Eloquent Javascript говно? По мне так одна из лучших книг по программированию евар, щитаю, что на каждый язык нужно написать ее копию или аналог.
#338 #421122
Бамп безусловно нужной ссылкой https://www.youtube.com/playlist?list=PLwuUlC2HlHGe7vmItFmrdBLn6p0AS8ALX
#339 #421134
>>421115
Как по мне, так она чересчур проста. Читается тяжело. Материалы learn.javascript.ru для меня оказались более пригодными к изучению, ну так там не только JavaScript.
32 Кб, 994x715
#340 #421139
Ребят, помогите со скриптом, заёбся уже в край, не работает, пофиксите пожалуйста до рабочего состояния.

Вот ссыль на пастбище http://pastebin.com/FrQRuRVi

Не бросайте анона в биде.
#341 #421148
>>421139
Паринь, ты на часы смотрел? Иди оливье запивай советским шампусиком под бой курантов! С новым кодом!
#342 #421153
>>421139
Поменяй 6 и 7 строчку местами. Алсо, не забудь передать в submit event и вызвать event.preventDefault() в самом начале submit-коллбэка.
#343 #421193
>>421089
Бамп. Ну простой же код на двадцать строчек, неужели никто не знает?
#344 #421197
>>421139

>'form'


Что, прямо так и работает? Я бы id поставил.
eventData вроде должна быть объектом.
>>421193

>простой же код


Говно твой код. Перепиши без continue и ++. Последняя строчка что вообще делает?
#345 #421199
>>421197
>>421193
Пиши с ++ и с continue
#346 #421200
Давайте всё-таки сойдёмся на мнении, что между Webstorm и Sublime просто пропасть. Я сам раньше пользовался Sublime для мелкого редактирования, потому что он открывается просто молниеносно, обладает приятным интерфейсом, но для работы с крупными проектами - не лучшее решение. Кстати, в качестве простенького редактора очень хорошо ещё подойдёт адобовский редактор Brackets. Очень советую поковыряться. Написан на javascript + node.js Отлично работает, понятный интерфейс и куча-куча клёвых плагинов, особенно связанных с системами контроля версий. Удачи :)
#347 #421201
>>421197

>Последняя строчка что вообще делает?


Выводит в консоль массив.
#348 #421204
>>421200
К слову о Webstorm'е. Поделитесь, на какие еще продукты тратите деньги.
883 Кб, 1280x720
#349 #421208
>>421204
На пиццу.
На студенческий акк закачал весь жетбрейнз, но в основном пользуюсь идеа с кучей плагинов. Если не хочется воровать, то можно на EAP'ах посидеть.
Еще куплен pixelmator, не совсем по теме, но всё же используется как рабочий инструмент.
Хранение данных в файле папки страницы #350 #421219
Не могу нагуглить – как это делается?
Нужно хранить объекты со свойствами (типа таблицы) и обращаться к значениям, изменять в том числе.
Может в html как-то ..
#351 #421221
>>421219

Как только такая фича появится, нативные программы станут нинужны.
#352 #421222
>>421221
не понял, при чём тут..
#353 #421225
в JS есть операторы точка, запятая? если да – что делают?
#354 #421226
>>421139

>var data = 'name='+name


У меня во дворе за такое убивают нахуй. Читай, сучий сын, доку jquery. $(this).serialize() тебе нужен, блджад.
#356 #421255
>>421208
Спасибо, но EAP'ы по WebStorm уже закрыты. Я вот думаю, что покупать - WebStorm или Sublime.
#357 #421266
>>421255
Саблайм это простенький и быстрый редактор для новичков, а вебшторм - полноценная IDE. Смотри по своему уровню развития.
#358 #421267
>>421255
А, саблайм у меня тоже куплен, забыл про него. Но если бы вопрос о покупке был сейчас, то не купил бы, его у меня заменил macvim.

Покупай то, чем чаще пользоваться будешь.
#359 #421269
>>421255

Зачем покупать Саблайм?
#360 #421270
>>421266

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


Не нужно подразумевать, что только новички пользуются Саблаймом, а хорошие специалисты — Вёбстормом.
#361 #421275
>>421266
А вебшторм не тормозной часом ? Анон выше писал, что плагинами можно Саблайм довести до уровня IDE или даже выше, а по скорости он останется такой же.
>>421269
Да, что-то я забыл, что и бесплатная не сильно донимает своими запросами на сохранение.
#362 #421281
>>421275

>довести до уровня IDE или даже выше, а по скорости он останется такой же.


>по скорости он останется такой же.


Сам то веришь?
#363 #421283
#364 #421285
>>421239
вот в том и дело что в гугле только про локальные, а я про хранение в папке страницы сайта, т.е. про серверное хранение.
#365 #421287
>>421285
Ты это никак кроме как через API на сервере не сделаешь. Как ты себе это представляешь ? Заходит рандомный хуй на твой сайт и правит файл лежащий на сервере ? Только API, которое ты сам опишешь и сам определишь границы дозволенного.
#366 #421288
>>421287
да можно же вроде править html? значит можно хранить в html данные, логически.
#367 #421290
>>421287

>кроме как через API на сервере не сделаешь



Это апи называется "Эйч-ти-ти-пи".
#368 #421292
>>421288
Расскажи, что ты имеешь ввиду
#369 #421296
>>421292
ну что что – в html-файле сохранять данные. вопрос в том – как. я нубище, как там можно сохранять чтоб не отображать?
#370 #421299
>>421296

Так ты ничего менять не собираешься, только читать? Ну тогда просто сделай большой словарь отдельным скриптом и подсоединяй его.
#371 #421300
>>421296
Ты можешь хранить данные в HTML, можешь в отдельном файлике json (и запрашивать его, например, через JQuery). Изменять его ты через браузер не сможешь.
#372 #421301
>>421299
собираюсь, говорил же. html файл же изменяем через js.
#373 #421302
>>421301

Можешь по шагам расписать свои намерения?
#374 #421307
>>421302
открываю страницу html, ввожу в спец. поля данные "1 вася 2 петя ", жму кнопку – они обрабатываются и сохраняются в невидимом виде – либо как таблица, либо как объекты 1 и 2 со свойствами name.
далее в других полях ввожу только цифры, жму энтер чтоб они обработались и вставились имена.
теперь поля имеют id с соответствующими цифрами, жму кнопки – поля располагаются в нужном порядке.
#375 #421311
>>421307
задача в том чтоб сохранять данные в html, а не временных переменных скрипта.
#376 #421314
>>421311

Для того, чтобы можно было страницу через Ctrl+S сохранить? Ну так храни значения в скрытом элементе.
#377 #421315
>>421314

>в скрытом элементе.


>>421296

>я нубище, как там можно сохранять чтоб не отображать?


плз подробности или ссылку или что гуглить.
#378 #421316
А js код нельзя вставлять в CSS? Если я хочу, чтобы скрипт срабатывал при нажатии на <input type="button">, куда мне его засунуть?
#379 #421317
>>421315
display: hidden
#380 #421318
>>421317
Блять, не то. Вот http://htmlbook.ru/html/embed/hidden
#381 #421320
>>421316
Ты можешь удалить/добавить класс у элемента, например.
#382 #421323
>>421315

Не тестировал, но как-то так: http://jsfiddle.net/cvyqg21w/ .
#383 #421325
>>421323
хром пишет "подключение", уже пару мин.
#385 #421327
>>421320
Точно, забыл про эту возможность. Правда я пока не знаю как, но всё равно спасибо.
#386 #421333
>>421318
спасибо, но я такое нубище что просто дно..
что мне объявить/создать и можно ли в html сохранить данные как свойства элемента?
#387 #421340
>>421326
спасибо, но я дно а прокомментить ты забыл, я не понимать.. схороню до лучших времён.
#388 #421341
>>421327
Миллион разных способов, гуглятся очень легко. Я бы тебе помог, но тебе в любом случае придется очень много гуглить и искать ответы самому, так что самое время начать.
>>421333
Тебе тот же совет. Ссылка, что тебе дали выше, неправильная. Тебе нужен либо
<input type="hidden" value="твое значение"/>
либо писать данные в любой элемент с помощью аттрибута data-. Например,
<span data-id="12" data-name="Anon"></span>
В любом случае, пока не понятно, что и нахуя ты хочешь сделать. Если ты опишешь задачу (а не твое представление о решении), то всем станет только легче.
#389 #421351
>>421333
>>421341
дай мне, дну, плиз ссылку на учебник где рассказывается что такое атрибут.
задача в том чтоб по определённым алгоритмам перемещать васю, петю и др. по разным полям, захочу в круг – запущу round.js который знает как расположить всех круг. ну а предварительно надо все имена внести в страницу.
#390 #421389
>>421351
http://habrahabr.ru/post/139210/
2 секунды в гугле
#391 #421405
>>421266
Полноценная IDE для неполноценных программистов, кек.
#392 #421407
>>421405
Саблайморебёнок закукарекал. Хеллоуворлд уже умеешь сделать?
#393 #421413
>>421407
Гитхаб в студию, полноценник.
#394 #421468
>>421351

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


http://ru.html.net/tutorials/html/lesson7.php
99 Кб, 668x1024
sage #395 #421472
Посоветуйте по ООП в жс нормальный тутор
#397 #421500
Почему это говно бесконечно?

var strings = ["кришна", "кришна", "харе", "харе", "харе", "харе", "кришна", "кришна", "8-()"];

var res = [];

var unic = function (arr){
next:
for(i = 0; i < arr.length; i++){
var str = arr;
for(j = 0; j < arr.length; i++){
if(str == arr[j]){
break;
}
}
res.push(str);
}
}
#398 #421501
>>421500
Проспись и посмотри, что ты инкрементируешь во втором цикле
#399 #421503
>>421501
Бля, точно, благодарю. А вот тут не знаешь, почему ничего не выводит?

http://jsfiddle.net/k83xcwap/

Даже просто alert(obj['className']) ничего не даёт.
#400 #421504
>>421503
А, понял, я знак равенства забыл.
#401 #421505
>>421503
почаще смотри консоль, там часто можно найти ответ
sage #402 #421508
>>421480
отвечай давай, пидар
#403 #421509
Посоны, посоветуйте книгу, доклад или статью о том, что такое backend и frontend. Как устроена разработка сайта вообще. Дело в том, что я — ньюфаг, начинаю смотреть доклад, который называется Сборка проекта…, и, вроде бы, всё понятно, но где эта сборка происходит и нахуя — нет.
#404 #421546
где почитать (учебник?) понятно что такое селектор и для чего?(с примером)
#405 #421548
>>421546
Ты точно в тот тред зашёл?
#406 #421549
>>421548
мне тут выше посоветовали атрибут data дав ссылку http://habrahabr.ru/post/139210/ – тут в примере тег div, а тут пишут про какие-то селекторы http://htmlbook.ru/html/div
#407 #421551
>>421549
Обратись лучше в вёрстка тред в /wrk/ или в php тред здесь, а то тут не совсем это обсуждают. А селектор - это указание элемента применения в CSS, типа

div{

}

.class{

}

input[type="radio"]{

}

.menu ~ section:last-child{

}


Так понятнее?
#408 #421552
>>421551

>элемента применения


это как?
код непрокомменченный, непонятно.
193 Кб, 1440x900
#409 #421553
>>421552
Красными кружочками обведены селекторы. Так понятнее?
#410 #421558
>>421553
И да, последний селектор написан криво, я знаю.
2 Кб, 88x74
#411 #421560
>>421558

За вами уже выехали, Владимир.
#412 #421561
Есть такой вот код: http://jsfiddle.net/qmqtfbf5/

Функция должна принимать массив с числами, и удалять те, что не вписываются в значение min и max. Функция прекрасно обрубает числа выше и ниже, но почему то не удаляет отрицательные. Никто не знает, с чем это связано?
44 Кб, 378x503
#413 #421562
>>421560
Вот чёрт. Я знал, что этим всё закончится.
#414 #421563
>>421561

Потому что ты изменаешь массив в процессе прохождения по нему.
#415 #421565
>>421563

Можешь заменить строку:

ar.splice(i, 1);

На:

ar.splice(i--, 1);
#416 #421567
что такое $ – как нагуглить?
#417 #421568
>>421567

Может, тебе следует сначала книжку какую-нибудь почитать из ссылки в оп-посте? А то заебёшь ведь здесь всех.

$ - это, скорее всего, Джейквери.
#418 #421569
>>421567
JQuery.
#419 #421570
>>421568
JakeVERY ага.
#420 #421572
>>421570
ну хоть не JohnLennon.
#421 #421573
>>417595

>Есть только один домен, и это - io.


смысл?
#422 #421574
>>421568
>>421569
это с http://habrahabr.ru/post/139210/ : Находим: $(‘[data-email-id]’) или $(‘[data-action=close]’)
#423 #421586
что гуглить чтоб понять зачем точки в названиях переменных?
читал уже когда-то, а толку.. без практики всё забыл.
#425 #421594
>>421593
нагуглил себе ответ?
sage #426 #421598
>>421509
скачай на торрентах интенсив хтмлакадемии, там расказано для долбаебов долбаебским языком.
#427 #421610
>>421567

> Что такое x?


Начни с изучения языка. Главу про идентификаторы в первую очередь.

>>421586
А ты читай про объекты.

Серьёзно, такие базовые вещи нужно по книжкам изучать. Всё равно что прийти в сишный тред и спросить про оператор звёздочку.
#428 #421761
Поясните разницу. Почему вот этот код http://jsfiddle.net/9h8km4py/ работает, а аналогичный http://jsfiddle.net/0cunxtzw/ - нет. Они же одинаковые, так почему один работает, а второй - нет?
#429 #421764
>>421761

>var ca = calc(0);

#430 #421766
>>421764
Спасибо! Заработало.
14 Кб, 540x161
15 Кб, 464x155
#431 #421809
Я, наверное, уже заебал своими IDE-проблемами, но прошу все же не проходить мимо и помочь:
посоветуйте тему (и где их найти вообще) для Webstorm. Стандартные - какое-то говно (зачем этот италик ?), не говоря уж о кастомных. Выделение цвета фона - это, блять, вообще пушка. Чому всё так плохо ? Во всех остальных редакторах от тем оформления кончить можно, а тут что-то пока все печально.
#432 #421830
>>421809
Чем тебя Darkula не устраивает? Италиком?
#433 #421831
есть ли разница перечислять команды через ; или , ?
#434 #421834
>>421831
Есть! Почитай тут http://habrahabr.ru/post/116827/. Разница очень большая. Команды перечисляй через ;
#435 #421835
>>421830
Да, во-первых он не к месту (это же не комментарий какой-нибудь), во-вторых он еще перерисовывается после открытия файла (т.е. сначала текст набран не италиком, потом перерисовывается на италик). В третьих, там еще автовыделение одинаковых слов какое-то странное. Ну и в-четвертых, люблю периодически менять темы. Пересел обратно на саблайм.
#436 #421840
Посоны, выручайте. Поставил sails, генерирую проект с помощью _sails new project_. В самом проекте три пустые директории, файлов app.js и других необходимых нет. На гитхабе с такой же проблемой посоветовали почистить кеш npm и переставить sails, но это нихуя не помогло.
Заодно, порекомендуйте туториал по sails, а то на официальном сайте установка ноды подробнее расписана, чем starting with sails
#437 #421842
a; – такой код не ошибка но бесполезен, верно?
#438 #421849
>>421842
Ошибка. Переменная a не обьявлена. Если было бы a = 1; тогда ошибки не было бы.
#439 #421850
>>421849

>не обьявлена


? объявление без var же возможно? и без присвоения.
#440 #421851
>>421835
Посмотрел у себя. Тема Darkula. Италика нет. Но я под убунтой.
#441 #421852
>>421850
Нет. Открой консоль и попробуй так сделать.

только с присвоением. Иноче он ищет переменную и не находит ее.
#442 #421853
>>421851
Я тоже под убунтой, не знаю, откуда он взялся, но это сразу после установки было
#443 #421856
Анончики, а кто вообще какой редактор использует для написания кода. Я вот Jetbrain Webstorm пользую. Какие фичи вашего редактора вы используете при разработке?
#444 #421857
obj = {
 так можно
}
Object(
 а так?
)
#445 #421858
>>421857
Зачем тебе это нужно?
Ради интереса? Пользуй всегда {}.
#446 #421860
>>421858
просто интересно можно ли писать перенос строки в скобках.
#447 #421861
>>421856

>Анончики, а кто вообще какой редактор использует для написания кода.



Sublime Text. И дома, и на работе, и для JS, и для C.

>Какие фичи вашего редактора вы используете при разработке?



Возможность редактировать код.
#448 #421862
Блять, поясните за код, вообще не пойму.

http://jsfiddle.net/s8gy41ba/

Он должен принимать массив, с помощью функции проверять его элементы и при соответствии числовому диапазону добавлять их в новый архив. Почему этого не происходит?
#449 #421863
>>421850

>? объявление без var же возможно?



Испанец дохуя?
#450 #421864
#451 #421865
>>421862
Немного изменил, но всё равно не работает. http://jsfiddle.net/s8gy41ba/1/
#452 #421866
>>421865
А, всё, изменил и заработало http://jsfiddle.net/s8gy41ba/2/

Проблема с синтаксисом была.
#453 #421872
Поясните за этот код http://jsfiddle.net/cm4ncgt3/

Откуда там появилось piece? Вернее понятно откуда появилось, но почему оно там выводится? На него же ничего не ссылается.
#454 #421874
>>421834
так и не понял – в чём проблема перечисления команд через запятую?
#455 #421885
>>421872
Piece не выводится.
http://jsfiddle.net/cm4ncgt3/1/
#456 #421886
>>421885
Ну я не совсем то имел ввиду. Откуда Piece берётся? Судя по действию, оно попадает через buffer(). Но как? buffer равен makeBuffer. Внутри var text = ''. Пока всё понятно. А потом следующая функция и в ней Piece. И похоже, что данные, введённые в buffer() попадают в Piece. Но как?
#457 #421887
>>421886

>buffer равен makeBuffer



Азаза, буфер равен тому, что вернула функция мейкБуфер, ты же её вызвал.
#458 #421889
>>421887
Пиздец. Я не понимаю эти сраные замыкания. Это сильно важно в кодерстве?
#459 #421891
>>421889

В Джаваскрипте - основа всего.
62 Кб, 501x501
#460 #421905
>>421886
Специально под тебя переделал.
http://jsfiddle.net/cm4ncgt3/2/
#461 #421906
a=NaN; if(a==NaN) {alert(a);}
почему алерта нет?
#462 #421907
>>421905
http://jsfiddle.net/cm4ncgt3/3
Подпилил чутка.
#463 #421910
>>421905
>>421907
Спасибо, теперь понял. Наконец то понял замыкания. Надо сделать учебник по жаваскрипту с йобой. Такая то доступность.
#464 #421912
>>421906
Просто через НаН не работает, надо вот так:

var a = NaN; if(isNaN(a)==true){alert(a);}
#465 #421913
a=+"2"; if(a!="2") {alert(a);}
почему алерта нет? унарный минус должен преобразовывать строку в число.
#466 #421914
>>421913

!== используй
#467 #421915
>>421913

>а равно двум


>срабатывает алерт, если а не равно двум


Догадываешься, почему не работает?
#468 #421920
>>421915

>срабатывает алерт, если а не равно двум


?? нет алерта же говорю.
#469 #421922
>>421920
Алерт срабатывает только при условии, что "а" не равно двум. У тебя "а" равен двум. Измени "а" на любое другое значение и алерт сработает. != обозначает неравенство.
#470 #421923
>>421914
понял.
>>421922
я приведение типа не учёл при сравнении, проверял равенство 2 и "2".
#471 #421929
>>421856
Emacs 24. Использую для всего.
Полезные фичи: богатый набор клавиатурных комбинаций, множественные курсоры, несколько окон рядом, макросы и программируемые действия, буфер обмена с историей, возможность править по SSH, синтаксический анализ.
Минусы: для меня он удобен только как редактор, но есть режимы для шелла, емейл и т.д. Это всё у меня отдельно.
#472 #421932
>>421860

>просто интересно можно ли писать перенос строки в скобках.


Да, можно. Но вообще нужно быть аккуратным: может автоматически вставиться «;». Это касается прежде всего таких ключевых слов, как return, break, throw, continue.
Для более полной информации смотри стандарт, главу “Automatic Semicolon Insertion”, написано там довольно понятным языком, разобраться можно при желании.

>>421874
Тем, что команды через запятую составляют одно выражение. Ты не можешь перечислить через запятую ни var, ни return. Это навскидку, проблем должно быть больше.

>>421906
NaN не равен себе.

>>421912
Лучше Number.isNaN.
#473 #421936
>>421889
Ты рано взялся за замыкания. До них нужно постепенно дойти. Пока просто разберись с функциями и областью видимости переменных.
31 Кб, 1433x282
#474 #421941
>>417595
Сосони, где я проёбся? Чому эта хуета не закрывает модальное окошко?
http://pastebin.com/gmrz18tU
#475 #421945
>>421941
Трудно сказать. Нужно отлаживать этот код. Может у тебя половина селекторов мертвые и ничего не выбирается. Ты в devtool вообще смотрел?
#476 #421946
>>421941
Форма самописная или чтот типа bootstrap взял?
24 Кб, 833x180
#477 #421952
>>421946
Самопис
#478 #421957
>>421952
Ты отладчиком умеешь пользоваться? В обрабочик клика заходит?
33 Кб, 1114x288
#479 #421994
С 2010 не было ни одного упдейта, что ли?
#480 #422002
>>421994
Да. Язык уже фактически умер.
#481 #422028
>>422002
а что на замене?
#482 #422029
есть коффискрипт учебник на русском?
19 Кб, 400x500
Тесты #483 #422032
Решил обмазаться тестами, не знаю с чего начать. Какой фреймворк сейчас самый актуальный? Нужен ли он вообще? Какую книгу стоит прочитать?
#484 #422070
>>421856
Notepad++
>>421861

>Возможность редактировать код.


Базарю, охуенная фича. Если еще темы оформления редактировать можно - вообще заебись.
#485 #422086
>>422029
Лол, зачем?

>>422032
Mocha.
Кроме http://mochajs.org/ ничего читать не нужно.
Начни с простых тестов в Node.
В качестве ассертов могу порекомендовать should.
#486 #422094
#487 #422100
>>422094
Монитор позеленел
#488 #422102
>>422086
Какой смысл тестировать, не зная зачем? Почитал бы хоть по TDD/BDD что-нибудь. The RSpec Book, например.

>>422028
ES7. Вот тогда наконец-то можно будет что-то делать на этом языке.
#489 #422168
А методы .call и .apply часто используются на практике?
#490 #422174
Почему этот простой и короткий код не работает? http://jsfiddle.net/m98g42x6/
#491 #422175
>>422174
А, всё, понял, вопрос снимается. Массив не строка.
#492 #422193
>>422168
[].slice.call(arguments)
listener.call(eventEmitter, arg1, arg2)
proxiedFn.apply(this, [124].concat(arts))
#493 #422216
Аноны вбросьте скрипт модального очкакна работающий, что бы минимум стилей и еботни. Я заёбся блять джва дня ебусь, уже ноги на ногах не держат, я ниразу не программист, и денег заказывать услуги вашего брата я не могу. Вся хуета предлагаемая гуглом не работает.
13 Кб, 500x500
#494 #422220
>>422216
Пили скайп, сделаю тебе бесплатно модальное окно.
#495 #422315
>>422168

> Math.max.apply(Math, array)

#496 #422370
>>422029

>коффискрипт


>>422086
чтобы изучать сразу его вместо js.
#497 #422387
>>422216
Бутстрап работает.
#498 #422394
где взять годные справочники js? англ и рус.
#499 #422399
в программировании Х называют переменной, а в матиматике как?
#500 #422400
>>422399
Константой, очевидно же.
#501 #422401
>>422400
не помню чтобы в школе аперировал таким понятием.
#502 #422403
каково макс. число? 31 единица в двоичной системе же? это сколько?
#503 #422404
>>422399
в общем я назвал для себя "именованным значением". только это про переменные, а не про буквы типа Х как в матике.
#504 #422409
>>422404
придумал ещё лучше – имена для значений.
#505 #422410
>>422220

Number.MAX_VALUE.
#506 #422413
>>422370

>чтобы изучать сразу его вместо js.


Я же говорил, что такие существуют, а вы мне не верили.
#507 #422416
>>422413
какие
#508 #422422
>>422416
Которые вместо JS сразу учат CS. В одном из прошлых тредов рассказывал, что работал с парнями, которые по их словам "плохо знают js", пишут исключительно на CS и Ruby, и хвалят меня за то, что умею писать на ваниле. Анон мне сказал, что такого не бывает
#509 #422424
>>422422
тоже планируя дочитавши "основы js" обмазываться cs.
#510 #422425
>>422424

>планиру


ю
#511 #422427
>>422410

Бля, обосрался - не заметил. Это сюда было >>422403. Это максимальное значение, меньшее бесконечности, но точность у чисел с плавающей запятой составляет 54 бита. Максимальное целое, которое может быть представлено без округления, Number.MIN_SAFE_INTEGER.
#512 #422432
>>422193
>>422315
Не понял. Так это важно или нет? И может кто доступным языком объяснить, что вообще делают эти операторы?
#513 #422436
>>422427

>Number.MIN_SAFE_INTEGER


это 32 единицы (пригодится тоже), я хотел положительное узнать (31 единица).
#514 #422438
>>422436
догнал что можно узнать через -(Number.MIN_SAFE_INTEGER)
#515 #422439
>>422432
window.name = 'окошко';
var test = function () {alert(this.name);}
test(); //->окошко, т.к. функция объявлена в контексте window

var obj = {
name: 'объектик',
fx: function() {
test();//->окошко, т.к. функция объявлена в контексте window
test.apply(this);//->объектик, т.к. мы вызвали функцию в нужном нам контексте
}
}
#516 #422440
>>422439
отступы потерял
#517 #422442
>>422438

Number.MAX_SAFE_INTEGER, я опять обосрался. Это не 31, а 53 единицы.
#518 #422443
>>422442

>Number.MAX_SAFE_INTEGER


почему 53, разве побитовые операторы не с 32 числами работают?
#519 #422446
>>422443

Побитовые с ними, да, а арифметические с числами с двойной точностью - гугли Википедию.
#520 #422449
>>422446
>>422442

>MAX_SAFE_INTEGER


но если я хочу пользоваться побитовыми функциями – получается не safe юзать числа длиннее 31 бита. 31 однёрка это сколько?
#521 #422451
>>422449

Я не понимаю вопроса. Тебе 0x7fffffff в десятиричную систему перевести? И, скорее всего, тебе 0xffffffff нужно - 32 единицы.
#522 #422452
>>422451
а я твоих 0х7... не понимаю.
31 двоичная однёрка это сколько в десятичной? 1е число – 0.
#523 #422453
>>422452

>а я твоих 0х7... не понимаю.



Ну так введи их в консоль. В любом случае, если тебе понадобились побитовые операторы, шестнадцатиричную систему ты по-любому знаешь.

>31 двоичная однёрка это сколько в десятичной?



Зачем тебе? 2147483647 это.
#524 #422455
>>422453
>>422453

>по-любому знаешь


почему, если побитовые работают с двоичной системой..
#525 #422456
>>422455

Это же основы байтоёбства.
#526 #422458
>>422456
посмеялся но не понял.
#527 #422459
>>422456
я лишь прочёл "использование побитовых операторов" в учебнике js.
#528 #422460
почему в русском не говорят КОМАНДА вместо "оператор"?
#529 #422479
Пытаюсь осилить grunt.

В одном докладе где-то годичной давности увидел плагин: https://github.com/alanshaw/grunt-include-replace

Но тут написано devDependencies: Out of Date. Что это значит и что делать?
#530 #422494
>>422422
Предположу, что они в целом хуевые писатели, независимо от инструментов.
#531 #422516
Кто-нибудь использовал handsontable в своих проектах? Никак не могу понять, как сделать так, чтобы при выборе нужной строки в автокомплите после нажатия Enter не выделялась нижняя ячейка. А еще, чтобы в ячейку автоматом подставлялись значения из автокомплита при выборе значений из списка. Гугл по этим вопросам молчит. Вот я и думаю, может свой велосипед сделать? Какой тогда инструментарий для этого выбрать? Я уже в отчаянии, помогите мне мудрым советом, аноны.
#532 #422526
>>422432
Максимальный елемент в массиве:
[CODE]Math.max.apply(Math, array)[/CODE]

Сделать массив из аргументов функции:
[CODE][].slice.call(arguments)[/CODE]
#533 #422527
>>422526
Что за хуйню макака сделала? Как теперь код вставлять?
#534 #422529
>>422422
Прочитал первое предложение, подумал про Computer Science и какие сознательные люди сидят в жабаскрипт-треде.
#535 #422532
Поясните за это.

var obj = {
"0": 1,
0: 2
};

>alert( obj["0"] + obj[0] );



>Дело в том, что у объектов в JavaScript ключи всегда строковые. Если в качестве ключа передано что-то ещё, то оно приводится к строке. Значения обрабатываются в порядке поступления, поэтому 0: 2 перекроет "0": 1.



>В итоге получится объект с единственным ключом: {"0" : 2}.



>При доступе к ключу — obj["0"] и obj[0] эквивалентны, опять же, поскольку ключ приводится к строке.



Если все значения строковые, то почему 0: 2 перекроет "0": 1? Или ключи поступают с конца?
#536 #422533
>>422532
Какое значение последним сохранил в один и тот же ключ, то и сохранится.
#537 #422534
>>422532

>Если все значения строковые


то и 2й 0 строковой, не?
#538 #422537
>>422460
никто тоже не видит причин?
#539 #422542
>>422537
Потому что КОМАНДА - тоже иностранное слово. Да и "оператор" звучит официальней.
#540 #422544
>>422542

>КОМАНДА - тоже иностранное слово.


пруф есть?
зачем нам официальность (что такое официальность знаешь?), не для понятности ли придуманы языки верх.уровня?
#542 #422547
>>422544

>Кома́нда (слово заимствовано в конце XVII века из исп. и португ. comando «командование, управление», исп. commando «командование» и «диверсионный отряд», через голландский, шведский и немецкий; в словарях упоминается с 1847 года)


Википедия.
#543 #422548
>>422547

>в конце XVII


этим всё сказано. в том числе то, что недоказуемо в принципе, "учёные" любые теории о прошлом могут строить – их никто не подтвердит.
#544 #422550
>>422548
Окей, окей, убедил. Перекатывайся сюда https://2ch.hk/pr/res/422545.html
#545 #422551
>>422550
мне и тут норм пока.
#546 #422552
>>422551
Этот тред тонет.
#547 #422555
>>422552
а мне норм.
#548 #422556
>>422555
Ты утонешь вместе с ним! Беги пока не поздно!
#549 #422697
\tvar params = {
\t\t"name": "Bobby",
\t\t"age": 10,
\t\t"weight": 50
\t};

var zalupa = JSON.parse(params)

--
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
--

В каком месте я дебил?
#550 #422723
>>422697

Уже сам понял? Ты парсишь объект, а не строку. Если наоборот хочешь закодировать, используй JSON.stringify().
sage #551 #422780
>>422723
да, понял, спасибо.
#552 #422914
как использовать значение переменной при определении функции?
var a = 5
b = function(){alert(a)}
a++
b()//нужно чтобы вывело 5
#553 #422916
>>422914
как обычно, не вижу бамплимита в упор,лол
543 Кб, 816x472
#554 #426404
Вебаны, помогите мне, я уже не могу смотреть на этот скрипт:
$(document).ready(function(){
var count = $(".post-image > a").length;
if (count > 2) {
$('.post-image').css('border', '1px solid red');
}
});

Скрипт считает кол-во картинок а блоке класса [/i]post-image, и если их больше 2-х, то на див лепится бордер. Но этот скрипт не работает, и бордер добавляется ко всем элементам, независимо от количества картинок. Что я делаю не так?
866 Кб, 1280x720
#555 #426428
Привет, господа анонимусы.

Кто-то работал с heroku? Интересует node.js и конкретно node-steam, хочу захостить там скрипт, чтобы не держать ПК включенным 24/7.

Суть в том, что там ограничение - если за час никто не заходит, приложение отключается, нашел вот такой скрипт-автопингер https://github.com/Efreak/node-steam-chat-bot/blob/master/example-heroku.js, но я не программист и не понимаю, как оно работает. Пытался скинуть прямо так - посыпались какие-то ошибки, что мне нужно сделать?
#557 #426432
>>426428
Ах да, я правильно понял, что сначала там идёт бот, а пингер начинается со строки

> var pingcount = 0?


https://github.com/Efreak/node-steam-chat-bot/blob/master/example-heroku.js#L283

Просто мне тот не нужен, только self-pinger, который я к своему хочу прикрутить.
#558 #426654
Angular или Ember?
#559 #428063
>>426654
По angular больше инфы и он как бы в тренде, но он проигрывает по производительности, когда дело доходит до реальных приложений, поэтому
Ember
Тред утонул или удален.
Это копия, сохраненная 31 января 2015 года.

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

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