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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
15 Кб, 600x600
12 Кб, 600x600
50 Кб, 600x600
JavaScript #20 #555116 В конец треда | Веб
Прошлый тред: >>549362 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает возможным создание на нём любых проектов - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком.На каждом сайте есть браузерный JavaScript, А JavaScript на сервере используется такими крупными корпорациями, как Amazon, HP, Walmart.

Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.

2. Какие возможные направления для разработки существуют? - Фроонт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos), 3D графика (Three.js), мобильная разрабтка (NativeScript, Phonegap, ionic), можно делать десктоп приложения(NW.js, WinJS).

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

5. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.

Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"

Дуглас Крокфорд "JavaScript: сильные стороны"

Стефанов С. - "JavaScript. Шаблоны"

Джон Резиг - "Секреты JavaScript ниндзя"

Николас Закас - "JavaScript. Оптимизация производительности"

Node.js
М. Кантелон , М. Хартер - "Node.js в действии"

Кирилл Сухов - "Node.js. Путеводитель по технологии"

Дэвид Хэррон - Node.js. Разработка серверных веб-приложений

Front-end
Эдди Османи - "Разработка Backbone.js приложений"

Читать онлайнDr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/

Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом. Перевод на хабре: http://habrahabr.ru/post/240219/ На английском :http://eloquentjavascript.net/

Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.

http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.

http://nodeguide.ru - Огромное количество переведённых статей по Node.js

http://ru.discovermeteor.com/ - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков

Бложики и новостные ленты:
http://dailyjs.com/ - DailyJS

http://weblog.bocoup.com/ - Bocoup Weblog

http://perfectionkills.com/ - Perfection Kills

http://www.reddit.com/r/javascript - subreddit на reddit.com

http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.

Онлайн курсы:
Как же можно учить язык, только читая книжки? Нужна практика, и только так изучаемое усваивается, не иначе.

CodeSchool - http://codeschool.com/ Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

CodeAcademy - http://www.codecademy.com/ Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.

Udacity - https://www.udacity.com/course/ud015 Дает хорошее представляение о замыканиях.

Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?

Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/

А потом? Я и так уже гений!!!

Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи Phaser, Pixi и другое, выбор не маленький. Хочешь на сервер сайд? Копай в сторону Node.js, Express, Socket.io. Хочешь писать MVC логику? Angular, Backbone, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.

Шапка: http://pastebin.com/zMVM1xDr
1234 Кб, Webm
#2 #555121
Что-то изменилось со времён ноября 2014?
У меня не получается изменить конструктор как на вебмрилейтед.
Ни через u1.prototype, ни через User.prototype.
В начале курса говорилось, что через полгода могут классы завезти. Это и произошло?
#3 #555123
>>555121

> u1.constructor.prototype


sfix
#4 #555128
Парни. Пишу на WinJS простенький клиент, который берёт данные раз в 15 секунд через winjs xhr с сетИнтервалом с сервера с API.
Все бы ничего, но эта хуйня начинает сливать память. Подскажите, в чем может быть трабла?
#5 #555129
Добрый вечер уважаемые. К вам php-макака вкатилась.

Сейчас прохожу https://learn.javascript.ru/
Нахожусь на примитивах пока.
Подскажите как самым простым и элегантным способом связать js и html?
Интересует собственно как запускать скрипт кнопкой без перезагрузки страницы и как динамически менять на страничке html куски (текст, картинки или даже целые дивы)?
#6 #555130
>>555129
Поставь колбэк на события клик. Динамически можно меня с помощью jq, angular и т.п.
#7 #555133
>>555121
а что это за ебанутый голос за кадром? курсы какие-то?
#8 #555134
>>555130
То есть на чистом js нельзя делать казалось бы те вещи, для которых он изначально, как бы задумывался?

Этот сер обманывает меня? Никто не может накидать простейший пример с кнопкой и счетчиком например? Тип кликаешь на кнопочку и счетчик накручивается параллельно. Без перезагрузки страницы и всяких алертов, а пост html-текст
#9 #555135
>>555133
Да это же твой голос, маня. Когда ты кислотой объебенился.
#10 #555136
>>555134
Можно, но сложнее. Тебе этого не надо. jq используй.
#11 #555145
>>555134
let count = 1;
let button = document.querySelector('button');
button.textContent = count;
button.addEventListener('click', () => {
button.textContent = count++;
});
#12 #555149
>>555145
Я не понял как это запустить.
#13 #555150
>>555121
Вангую курсы СПЕЦИАЛИСТА.
Доисторическое говно для даунов.
67 Кб, 768x473
#14 #555158
>>555121
Всё у тебя получается, просто твой браузер не показывает в консоли унаследованные свойства. Ох уж этот макака с его кривыми скриптами.
#15 #555161
>>555121
И да, обратно несовместимых изменений в JS не бывает, сотни тысяч, если не миллионов сайтов полетели бы к хуям.
47 Кб, 303x566
#17 #555167
САХАРОК
#18 #555170
>>555167
Яблочный самогон, ты?
#19 #555181
Помогите идиоту, пытающемуся в срочном порядке изучить джаваскрипт за день. Вот у меня есть URL, по которому выдаются данные в формате JSON. Открываю его в браузере, вижу данные, все ОК. Теперь мне нужно эти данные занести в переменную в джаваскрипте. Пишу через XMLHttpRequest - хуй, выдается ошибка. Подключаю JQuery, спешно изучаю, как в нем сделать то же самое, вбиваю - хуй, выдается та же самая ошибка. Ну что мне делать?

>Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://divanon.xxx/. (Reason: CORS header 'Access-Control-Allow-Origin' missing).


Все, что я нагуглил, предлагает мне решать это при помощи настроек сервера, а я к нему в принципе доступа получить не могу.
#20 #555182
>>555181
Код неси. Как присваиваешь.
#21 #555185
>>555181
Браузер блочит загрузку в фоне с других ресурсов,потому что дыра в безопасности была бы дикая. Вот тебе и пишет такую залупу. А тебе дальше с JSON что делать надо? После засовывания его в переменную
#22 #555187
>>555181
Ты ошибку читал вообще?
#23 #555188
>>555161
Понял, благодарю.
#24 #555190
>>555185
А что с ним делать можно? Пропарсить, и дальше обрабатывать данные в полученной переменной. С этим-то я уже как-нибудь разберусь. Мне бы данные получить.

>>555182
Последний вариант выглядит вот так:
[code]
var cities = $.getJSON("http://divanon.xxx");
[/code]
#25 #555226
Посоны, почему когда я в ноде спавню воркеров через cluster, а потом на мастере врубаю readline, то введенные команды пропадают (доходит только одна из нескольких)?

Ну типа такого: http://ideone.com/lNE5VN

Ввожу я допустим что-то в сосноли, оно должно это что-то вывести. А не выводит нихуя (ну, раз в 5 попыток выводит примерно).
#26 #555376
>>555190
Тащи просто get ом:
$.get('domen.ru', { p: "0" }, function(data) {
//handling data
})
Если в браузере ты видишь json ответ, то таким образом ты его вытащишь без проблем. Ты пытаешься реквестить именно json , а тебе нужно просто просить ответ сервера.
#27 #555430
>>555165
>>555165
Большое спасибо.
А почему не работает?
http://jsfiddle.net/n41dobe5/8/
#28 #555438
>>555430
Ну начнём с того, что вешать обработчик каждую секунду плохая практика. Представь, что тебе каждую секунду дают задание. Одно и тоже. И ты вынужден начинать э о задание каждую секунду заново. Я бы тоже не работал.
#29 #555462
>>555430
исправь
p.innerHTML = count; (у тебя только H была большой)
и добавь
var button = document.querySelector('button');
иначе не понятно на какую кнопку ты вешаешь отслеживание событий
#30 #555473
>>555438
мне просто дали пример выше, и я сам не понял зачем там обертак в виде setTimeout(function() {...}, 1000);
Просто правил внутренний код. Убрал и вроде работает.
>>555462
Спасибо, вроде бы всё понял. http://jsfiddle.net/n41dobe5/23/
Если я буду так же менять атрибут src="" у тега <img> то у меня будут картиночки сами в браузере обновляться?
#31 #555485
Алярма, у новичка проблема. У меня тут следующая ситуация - есть сервер на node js, есть html с leaflet-овской картой. Мне нужно передать данные с сервера в html, чтобы на карте отрисовались маркеры, исходя из полученных данных. Как мне можно это сделать?
#32 #555486
Ребята, возможно ли написать такой скрипт? Для одного форума необходимо из его профиля пройтись по всем постам автора и заминусовать его сообщения. Хочу баребух кармодрочерам устроить. Возможно ли такое реализовать и как долго мне учить придется?
#33 #555490
>>555486
Возможно, но ты нахуй иди, обиженка ебаная, аахахах
#34 #555519
>>555376
Бесполезно, все равно та же самая ошибка. Походу, у них там CORS не настроен на сервере.
#35 #555527
>>555486
Либо плати 1к рублей за скрипт, либо всё делай ручками, как ты привык.
#36 #555540
>>555438

> каждую секунду


Не пизди, а. Событие вешается через секунду после старта кода, один раз. Я просто поленился на onload документа стартануть.
#37 #555552
>>555544
Как вы заебали, шароёбятся такие ребята со своими вопросами и ждут ответа днями, а могли бы за это время взять да попробовать
Тут индивидуально всё по времени, кто-то быстро а кто-то тупить может
12 Кб, 280x280
Аноним #38 #555555
ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ ГЕТ
#39 #555564
Сосаны, а средствами js вообще можно получить доступ к json двачеапи? Выдает ошибку Access-Control-Allow-Origin.

Как этим апи вообще пользоваться то тогда?
56 Кб, 467x691
#40 #555570
>>555555

>геты в тематике

Аноним #41 #555571
>>555570
Ваш тред киберунижен
#42 #555572
>>555571
Это JS-тред, его просто невозможно еще сильнее унизить.
#43 #555611
>>555572
Но это единственный нормальный тред на всю доску. Не байтоёбский и не рабипитоноопущенский.
#44 #555616
>>555611
php тоже хороший тред, собственно я к вам оттуда и вкатился
#45 #555620
Ну помогите же с корсом, ну будьте же людьми. Я от вас тогда на веки вечные отъебусь.
#46 #555638
Добрый вечер опять уважаемые, читаю я значит https://learn.javascript.ru/object

и у меня возник такой вопрос. Вот в php можно было просто создавать массив, и загоняя в него элементы они автоматически получали ключи которые начинались с 0.

В JS я полагаю, так не катит? Я не могу создать объект и прост закидывать в него свойства без указания им ключа?

Дурным ли тоном тогда будет создавать объекты вида:
var a = {};
a[0] = 'huy';
a[1] = 'test';
и так далее?

Собственно почему у меня такой вопрос. Я прекрасно понимаю как перебирать массивы циклами и прочими вещами. Но как быть если я просто хочу взять случайный элемент массива? В php я привык делать вот так
$randomElement = $array[mt_rand(0, count($array)-1)];

Может быть в js есть изящный способ выдернуть из объекта случайный элемент? Тогда мне и не нужна нумерация в некоторых случаях будет можно сказать.
#48 #555646
>>555638
Сори за неправильные вопросы, оказывается у вас и массивы есть которые на самом деле тоже объекты, просто они почему-то в учебнике после объектов идут и в начале где рассказывают о типах данных вообще не упоминаются.

Нашел в общем рандомайзер, вроде распределяет всё равномерно, даже проверил его.
http://jsfiddle.net/evm2c7ts/3/
Пришлось правда сначала массив заполнять нулями, без этого писал мне NaN'ы, что не очень круто. Это можно как-то обходить?

Алсо как на jsfiddle дампить объекты? Что бы в левом окошечке показывались?
#49 #555651
>>555638

> Может быть в js есть изящный способ выдернуть из объекта случайный элемент?


Создаешь массив, пушируешь в него элементы, вытаскиваешь случайный arr[randomElemIndex]

Я тебе по секрету скажу, в JS все является объектом, кроме null и undefined.
#50 #555659
>>555651
А можешь еще кое-что сразу прояснить? Как удобно js-код бить на файлы?
Если я сделаю файлик просто с объявлением переменных, а потом подргужу его на страничку, то они будут доступны в скриптх которые были подгружены позже? Ну тип есть у меня скрипт который влияет на страницу при её первоначальной загрузке. И потом есть второй, который должен работать с объявленными в первом переменными в зависимости от того как пользователь на странице себя ведет. Так вот, их можно просто последовательно грузить на странице? Или я должен первый инклудить внутрь второго, что бы он увидел переменные?
#51 #555663
>>555659

> Как удобно js-код бить на файлы?


Ну вообще как тебе удобно, так и бей.
Погугли CommonJS и AMD.

Плюс, тебе могут понадобится атрибуты async и defer, чтобы на базовом уровне управлять загрузкой скриптов.
#52 #555664
>>555663
меня волнует видимость переменных и всё такое. Если я в первом файле заведу кучу их, из второго скрипта их ведь можно изи редактировать?
#53 #555668
>>555664
Если первый полностью загрузится до загрузки второго, то да.
#54 #555674
>>555664
Да, если это будут глобальные переменные, они же свойства объекта window. Но это считается говнокодом, и совершенно заслуженно.
#55 #555676
>>555674
Окей, а как тогда делать правильно в этой ситуации?
4 Кб, 176x76
#56 #555677
>>555651

> все является объектом, кроме null


ORLY?
#57 #555681
Пиздец, вот пишу я небольшую игрулю на этом вашем js и понимаю, что любой может зайти и посмотреть мой говнокод. И даже если похуй на алгоритмы, которые понятны только кодерам, то простому юзеру будут видны все массивы, в которых может быть хранятся всякие шуточки и игровые секреты :(
#58 #555682
>>555544
У меня он уже отнимает второй год.
#59 #555686
>>555682
Раз в месяц на 5 минут открываешь?
Кун-задавший_тот-вопрос
#60 #555689
>>555681
Ну так всегда так, когда на клиенте всё выполняется.
#61 #555691
>>555681
А обфускаторы-минификаторы для кого придумали?
#62 #555703
>>555689
Ну флеш же тоже на клиенте выполняется, не?
>>555691
А смысл? Всё равно кому надо тот спиздит код или прост его приведет к читабельному виду в других целях.

Видимо просто нужно привыкнуть к тому, что ты идешь по улице как будто голый, когда делаешь что-то на JS.
#63 #555715
>>555676
Как минимум собрать все в один объект, чтобы в глобальной области у тебя была лишь одна переменная
#64 #555717
>>555681
А ты как хотел? Это же JS, его ты не скроешь никак. Не понимаю чего ты боишься, у тебя там игра на деньги чтоли? Зачем нормальному игроку лезть в код и подсматривать игровую механику?
#65 #555718
>>555703
Флеш выполняется в своей песочнице-плагине, ибо это заранее скомилированное приложение.
#66 #555729
Зацыити пасаны бггг))))

Как вам механизм блокировки для монги, м? https://www.npmjs.com/package/pmongo-lock
[code lang="js"]
var pmongo = require("promised-mongo");
var db = pmongo("test");
var pmongoLock = require("pmongo-lock");
var Lock = pmongoLock(db);
var lock = new Lock("test");
lock.lock().then(function() {
//...
return lock.unlock();
});
[/code]
#67 #555749
Подскажите пожалуйста какую-нибудь легкую библиотеку для обработки изображений
#68 #555751
>>555749
ImageMagick
107 Кб, 735x736
#69 #555783
Братцы, помогач разобраться плиз!

Нужно используя backbone роут сделать так, что бы конкретный джаваскрипт исполнялся на конкретных страницах.
Вообще у меня проект на рельсе. там есть пару вьюх и скриптов, и они подгружаются все на каждую страницу, а нужны только те которые там используются...
Хотя бы чисто теоретически, как должно выглядеть?
Как я понимаю роут это соответствие урла некой функции.
Так что я должен перенести те скрипты из файла в роутеры, в функцию связанную с урлом, или как?
#70 #555822
А как инклудить скрипт внутри самого .js файла? Если я не хочу на странице делать загрузку нескольких скриптов поочереди,
<script src="test1.js"></script>
<script src="test2.js"></script>
<script src="test3.js"></script>

А хочу просто что бы внутри test3.js инклудились первые два, как так сделать?
#71 #555823
>>555783
А что мешает подгружать скрипты только в тех вьюхах где они нужны?
#72 #555825
>>555783
С точки зрения рельс, яваскрипты это тот же кусок шаблона. У тебя видимо много чего засунуто в default шаблон, в который потом куски нужных страниц вставляются.
Так что :
1. Найди дефолтную вьюху в своём приложении. Что нибудь типа view/default.tpl
2. Убрать оттуда вывод ненужных тебе скриптов.
3. Посмотреть в контроллера нужных тебе страниц какой шаблон они юзают.
4. Вызывать нужные тебе скрипты там.

Мимо-нубас-только-читал-мануал-по-рельсам
#73 #555826
>>555822
В идеале лучше одним файлом подгружать, быстрее будет. Ну а вообще :

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
#74 #555845
что не так с этой строчкой?
\tgame.progress = (((game.games / game.skills[game.skill]) + 00000.1) * 100);

пишет ошибку:
SyntaxError: missing ) in parenthetical
#75 #555846
>>555845
Ты ведь тралишь?
#76 #555847
>>555846
нет, правда :(
#77 #555851
>>555845
Ты чем думал когда продумывал архитектуру?
#78 #555854
>>555851
всё, я разобрался, косяк был в 00000.1
вместо 0.00001
ну вы поняли.

>Ты чем думал когда продумывал архитектуру?


Да я просто писал код себе спокойно, не думая об архитектуре особо, там простой кликер на php, но php для этого не подходит, поэтому я сижу переношу на js это дело, попутно надеясь в нем немного разобраться.
#79 #555873
>>555651
Разве примитивные типы, передающиеся по значению, являются объектами?
#80 #555874
>>555873
Да, отличие только в неизменяемости. Примитивы точно так же имеют свойства, методы и наследуются от прототипов.
#81 #555880
>>555703

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


Так же вероятно как дизассемблирование, забей ты никому не нужен.
#82 #556055
>>555874

Нет, неверно. Примитивы потому и примитивы что они не объекты. Они введены с целью оптимизации производительности, чтобы операция сложения чисел не требовала создания нескольких объектов и вызовов нескольких методов.

Объекты передаются по ссылке, примитивы — копируются.

var a = {};
var b = a; // b ссылается на тот же объект

var c = "aaa";
var d = c; // в d отдельная копия строки

Примитивами в JS является true/false/null/undefined, числа, строки.

Анон заметил что (создается ощущение что) у примитивов есть методы и поля:

("aaa").length
(123).toString()

Это так называемые боксинг/анбоксинг. При попытке обратиться к примитиву как к объекту создается настоящий временный объект одного из классов String, Boolean, Number (ага, ты наверно гадал зачем они нужны?), делается обращение к нему и объект отбрасывается.

Описано это например тут:

https://gist.github.com/codedokode/ce30e7a036f18f416ae0#Боксинг

Там же есть пример показывающий особенности боксинга:

var x = 1;
x.test = 2;
console.log('test' in x); // false — такого свойства у x нету

На русском инфы не нашел, только на английском http://www.jisaacks.com/javascript-boxing/
#82 #556055
>>555874

Нет, неверно. Примитивы потому и примитивы что они не объекты. Они введены с целью оптимизации производительности, чтобы операция сложения чисел не требовала создания нескольких объектов и вызовов нескольких методов.

Объекты передаются по ссылке, примитивы — копируются.

var a = {};
var b = a; // b ссылается на тот же объект

var c = "aaa";
var d = c; // в d отдельная копия строки

Примитивами в JS является true/false/null/undefined, числа, строки.

Анон заметил что (создается ощущение что) у примитивов есть методы и поля:

("aaa").length
(123).toString()

Это так называемые боксинг/анбоксинг. При попытке обратиться к примитиву как к объекту создается настоящий временный объект одного из классов String, Boolean, Number (ага, ты наверно гадал зачем они нужны?), делается обращение к нему и объект отбрасывается.

Описано это например тут:

https://gist.github.com/codedokode/ce30e7a036f18f416ae0#Боксинг

Там же есть пример показывающий особенности боксинга:

var x = 1;
x.test = 2;
console.log('test' in x); // false — такого свойства у x нету

На русском инфы не нашел, только на английском http://www.jisaacks.com/javascript-boxing/
#83 #556058
>>555677

typeof не доказывает что null является объектом, то что он возващает object для null просто описано в спецификации.

Если ты думаешь что null это объект попробуй добавить ему поле:

var a = null;
a.x = 1;

Или сделать еще что-нибудь что можно делать с объектами.
#84 #556063
>>555822

Тебе нужны модули (amd, commonJS) и системы сборки (например webpack). Не придумывай велосипед, все изобретено.

Если у тебя 3.5 файла быстрее может быть просто написать 3 тега скрипт подряд.
#85 #556065
>>556058
Это был сарказм, странно, что ты такой тугой.
Хотя нет, не странно, ты же считаешь, что всё в жсе это объекты лол
#86 #556070
>>555783

> подключать backbone ради того чтобы запускать код не на всех страницах

#87 #556073
>>555823
>>556070
Угу, я бы так сделал.
Но тут прихоть моего начальника.
#88 #556087
Ребят, а подскажите еще вот такой вопрос. Как с помощью яваскрипта отрисоввывать кнопочки на странице?
например в пхп я мог тупо во вьюху вставить

<? if ($admin) { ?>
<button>adminka</adminka>
<? } ?>

ну или передать кнопке класс
$buttClass = "disabled";

<button type="button" class="btn btn-primary <?= $buttClass ?>">Disabled Primary</button>

И соответственно кнопки как бы и не было, input уже не работал.
#89 #556088
>>556087
Я на ангуляре пишу, там так можно.
В многих других фреймворках тоже.
На чистом жс тебе надо будет свой парсер делать, просто так нельзя.
#90 #556144
>>556087

> Как с помощью яваскрипта отрисоввывать кнопочки на странице?


Всмысле "отрисовывать"? В нужное место вставлять код? jQuery / Templates?
#91 #556187
уйцуйу
#92 #556190
>>556088
>>556144

Ну вот и я не понимаю немного как это делать.

Вот есть у меня во вьюхе баттон например
<button type="button" class="btn btn-warning btn-block" id="buy" >buy</button>

Я хочу работать с её классом.
Пишу такой
game.buyButton = document.querySelector('#buy');
Ок - это работает.

Но если я хочу сделать вот так:
game.buyButton.class = "btn btn-warning btn-block disabled";
То это ничего не дает :(
37 Кб, 449x546
#93 #556212
Господа, с помощью каких библиотек организовать стриминг аудио?
Хочу написать онлайн-плеер-радио на ангуляр+нода. Нода должна будет перехватывать звуковые сигналы (микрофон + играющее музло) и стримить её в ангуляр-приложение. Как организовать архитектуру этого говна?
#94 #556223
Господа, не так давно начал изучать JS, есть один код который я не могу понять, а понять его мне очень нужно, есть кто-нибудь, кто сможет помочь и подсказать?
balashihakun@gmail.com фейкопочка, с меня как обычно нефть
#95 #556224
>>556212
Node.js + Websocket + <audio>
42 Кб, 604x403
#97 #556226
>>556224
Благодарю.
#98 #556227
>>556190
gayButton.className = 'btn';
либо еще лучше
gayButton.classList.add('disabled');
645 Кб, 2500x1250
slack конфа джабоскрипт треда #99 #556242
Привет, любитель веб-технологий! Мечтаешь создать свой двач, потеснить артемия лебедева и заставить течь телок и пердунов-паскальщиков от твоих баззвордов? Если ты пьешь кофе только в старбаксе, отращиваешь бороду и любишь мечтать о работе за границей то эта конфа для тебя.

зы. нас уже 51+

писать на почту thekreizo@gmail.com
#100 #556252
>>556227
спасибо за эту подсказку.

>gayButton.classList.add('disabled');

#101 #556254
>>556242
Что вы обсуждаете там такого, что нельзя обсудить в треде?
#102 #556259
>>556254
В треде нет той элитарности. Ты что такой узколобый то?
#103 #556260
>>556259
Ясно.
#104 #556261
>>556260
А должно было быть ясно еще с

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

#105 #556262
>>556261
Я думал, что вам просто не чужда самоирония.
#106 #556264
>>556262
Так я и не один из них. Им наверняка не чужда, и как раз тот пост ею и наполнен, эх ты :(
60 Кб, 500x428
#107 #556265
sage #108 #556266
>>556242
Привет, любитель баззвордов! Мечтаешь создать свой кривой клон сосача, отсосать у артемия лебедева и телок ржать над тобой, а пердунов-паскальщиков снисходительно улыбаться? Если ты пьешь кофе только в старбаксе на мамкины деньги, отращиваешь жиденькую уродливую бороденку и любишь мечтать о работе за границей то эта конфа для тебя.

зы. дебилов уже 51+

писать на почту thekreizo@gmail.com
sage #109 #556267
>>556266

>и заставить

что вообще делает этот код? #110 #556268
window.each = function(obj, context, handler) {
var index, item, name, _ref, _ref1;
index = 0;
if (arguments.length === 1) {
_ref = [obj, this, null], handler = _ref[0], obj = _ref[1], context = _ref[2];
}
if (arguments.length === 2) {
_ref1 = [context, null], handler = _ref1[0], context = _ref1[1];
}
if (typeof obj === 'object' && obj !== null && typeof handler === 'function') {
for (name in obj) {
if (obj.hasOwnProperty(name) &&
(name !== 'length' || !(obj instanceof Array || obj instanceof NodeList))) {
item = obj[name];
if (context) {
handler.call(context, item, name, index++);
} else {
handler(item, name, index++);
}
}
}
}
return obj;
};

window.grep = function(obj, context, handler) {
var isArr, list, _ref, _ref1;
if (arguments.length === 1) {
_ref = [obj, this, null], handler = _ref[0], obj = _ref[1], context = _ref[2];
}
if (arguments.length === 2) {
_ref1 = [context, null], handler = _ref1[0], context = _ref1[1];
}
isArr = obj instanceof Array;
list = isArr ? [] : {};
each(obj, context, function(value, key, index) {
if (handler.call(context, value, key, index) !== false) {
if (isArr) {
return list.push(value);
} else {
return list[key] = value;
}
}
});
return list;
};
что вообще делает этот код? #110 #556268
window.each = function(obj, context, handler) {
var index, item, name, _ref, _ref1;
index = 0;
if (arguments.length === 1) {
_ref = [obj, this, null], handler = _ref[0], obj = _ref[1], context = _ref[2];
}
if (arguments.length === 2) {
_ref1 = [context, null], handler = _ref1[0], context = _ref1[1];
}
if (typeof obj === 'object' && obj !== null && typeof handler === 'function') {
for (name in obj) {
if (obj.hasOwnProperty(name) &&
(name !== 'length' || !(obj instanceof Array || obj instanceof NodeList))) {
item = obj[name];
if (context) {
handler.call(context, item, name, index++);
} else {
handler(item, name, index++);
}
}
}
}
return obj;
};

window.grep = function(obj, context, handler) {
var isArr, list, _ref, _ref1;
if (arguments.length === 1) {
_ref = [obj, this, null], handler = _ref[0], obj = _ref[1], context = _ref[2];
}
if (arguments.length === 2) {
_ref1 = [context, null], handler = _ref1[0], context = _ref1[1];
}
isArr = obj instanceof Array;
list = isArr ? [] : {};
each(obj, context, function(value, key, index) {
if (handler.call(context, value, key, index) !== false) {
if (isArr) {
return list.push(value);
} else {
return list[key] = value;
}
}
});
return list;
};
#111 #556269
>>556268
Какой же ты мудак.
sage #112 #556271
>>556268

>что вообще делает этот код?


Долбит твою мать в очко.
#113 #556277
>>556223
Сам разбирайся, разбивай код на куски, гугли непонятный синтаксис. Большая часть работы погромиста это разбор кода, зачастую чужого.
#114 #556281
https://github.com/vdakalov/matrix-multiply
Как эта хуйня может работать? Там же абстракции на абстракциях
sage #115 #556294
>>556281

>абстракции на абстракциях


Вот потому и работает.
#116 #556533
Объясните почему пустой массив (как и пустрй объект) проходит проверку в if:

var test = [];
if (test) console.log('true');

При это [] == true вернёт false.
#117 #556554
>>556533
Объект всегда true в логическом контексте, так прописано в стандарте.
#118 #556560
>>556554
Почему тогда {} != true?
sage #119 #556576
>>556560
Потому что там ебля с приведением типов. не стоит вскрывать эту тему, черт ногу сломит.
#120 #556585
>>556576
typeof ([] + 1) возвращает string. Получается пустой массив приводится к строке и срабатывает конкатенация.

[] != true потому что пустая стока трактуется как false
В if пустой массив срабатывает как true, потому что костыль.
Ахуенная логика у жса. Я начинаю понимать людей, которые ненавидят этот язык.
sage #121 #556604
>>556585
Я сам еще месяца три назад блевал с него, но теперь понял. насколько он в целом охуенен. Даже стыдно за себя теперь немного. Но вот такие ложки дегтя портят бочку меда, это да.
#122 #556633
Привет, жсаны. Есть небольшие проблемы с https://www.datatables.net/. http://pastebin.com/RZvHUeyP - следующий код не отображает ничего, хотя должен. Запрос на сервер уходит.
#124 #556657
>>556642
Ты что наркоман?
#125 #556689
Есть несколько страниц, на них разная логика, где-то она пересекается. Весь код храню в одном файле и в одной глобальной переменной (неймспейсе). Есть функция app.init(), котороя запускает всё, что нужно в зависимости от страницы, логика там простая: если есть форма регистрации то запускаем её скрипты, если форма логина то запускаем для него. Никаких ангуляров и т.д.
Как ещё можно организовать подобное?
#126 #556711
>>556689
А теперь вынести всё это в отдельные, независимые от проекта файлы, придумай классное название, закажи на fl.ru логотип за 500 рублей и продвигай свой фреймворк.
#127 #556721
>>556711
Мне не нужен фреймворк, мне нужно понять как ещё можно организовывать код.
#128 #556727
>>556721
В ES6 вроде как модульность завезли
#129 #556728
>>556721
главное_пиши_код.txt
погугли про неймспейсы, ну и модули
#130 #556735
>>556728
>>556727
Ахуенные советчики. Вы свои модули из ES6 будете только лет через 5 использовать.
Не знаете паттернов так нехуй выёбываться.
#131 #556736
>>556642
Ты сказал, что этот код должен что-то там отображать. Но в код ты запрашиваешь страницу, отдающую 404 ошибку. Схуяли, спрашивается, код должен что-то отображать, если ты ему неверные данные подсовываешь?
#132 #556737
#133 #556740
>>556735
Проиграл с порвантишеса, не знаешь гугл так нехуй за код браться, а то потом тебе каждую хуету разжевывать ещё
#134 #556757
Знающий анон, подскажи почему эта функция у меня не работает?

window.onkeypress = function (e){
var a = e || window.event;
alert(a.keyCode);
}
#135 #556773
>>556740

>паттерны проектирования


>хуета



жсомакаки как они есть.
#136 #556774
>>556757
Потому что используй jQuery, вот почему
#137 #556787

>window.event


Вот это какой-то привет из шестого осла. Убирай к хуям.

>onkeypress


>keyCode


Насколько помню такого свойства там нет.

>window.onkeypress


addEventListener юзай.
#138 #556823
Хочу кодить на JS, вопрос собственно в том, что еще в дополнение к нему учить? Трогать ли вообще другие языки если я ньюфаг?
#139 #556826
>>556823

>Хочу кодить на JS


>Трогать ли вообще другие языки



Сам как думаешь?
#140 #556827
>>556826
Я ньюфаг, вообще хз. Просто не знаю реально ли он самодостаточен и есть ли смысл его с чем-то сочетать
#141 #556828
>>556827
Вот и я хз. Самодостаточен для чего? Может и есть смысл, может и нет, сильно зависит от конкретной задачи. Что-то не могу представить задачу у нюфани, требующую мультиязычности. Ах, ну да, стоит напомнить, что HTML и CSS это не языки программирования, если ты об этом.
#142 #556830
>>556828

>HTML и CSS это не языки программирования


Это понятно, я имею ввиду какой-нибудь Питон/Руби. Ну ладно вообще js освою сначала
#143 #556831
>>556830
Питон для прагматиков, руби для любителей выебонов, жаваскрипт потому что в браузерах ничего больше нет, пхп для днища и неудачников.
#144 #556832
>>556831
понял тебя, спасибо
64 Кб, 500x706
#145 #556924
Стоит платить 2300 за нее?
7 Кб, 246x205
#146 #556927
>>556924

>покупать книги


>2015

#147 #556931
>>556924
1200 для неё была хорошая цена. Сейчас дороговато для настолького справочника. Читать ты её всеравно не будешь.
#148 #556934
>>556931

>Читать ты её всеравно не будешь.


че то лол
#149 #556939
>>556823
Начинать кодить с жс ещё хуже, чем с пыхи.
#150 #556940
>>556924
Ну в бумаге стоит брать если тебе бабла девать некуда. Я бы лучше электронную версию купил\украл. А вообще, нахуя тебе справочник, если есть интернет? Фленеган конечно хорош, но возьми лучше что-нибудь по паттернам\шаблонам
#151 #556943
Что такое production grade?
#152 #556949
Что скрывается за вакансией JS-Программист
В контору которая занимается мобильными приложениями?
К чему на собеседование готовиться?

Нет ли гайдов по JS собеседованиям?
#153 #556952
>>556949
AngularJS, Backbone, PhoneGap
Опять же, знания html+css, без них никуда.
#154 #556954
>>556924
Как же доебал форс этого куска говна блять. Есть же http://speakingjs.com/ которая лучше на порядки.
#155 #556958
JS - лучший язык для изучения погромирования.
Запустится на любой кофеварке с бровузером, не нужно ебаться с компиляцией, понятный и компактный код, можно не опасаться за брата, быстрая отладка, быстрая реализация идей.
#157 #556966
>>556831

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


Фикс.
#158 #556968
>>556949
Вангую Cocos.js, NativeScript, WinJS. Позвони, спроси, хуле ты.
#159 #556974
Прочитал http://learn.javascript.ru/prototypes и нихуя не понял. Прочитал http://sporto.github.io/blog/2013/02/22/a-plain-english-guide-to-javascript-prototypes/ и все понял. Со мной все в порядке?
18 Кб, 590x590
#160 #556977
>>556958
Ну ты и дебил. Или толстяк.
#161 #556979
>>556773
Ой да соси, пока ты там пытаешься учить всякую заумную хуету нормальные ребята создают один неймспейс на 10000 строк кода и приходят к успеху
#162 #556980
>>556974
Первый мануал - сухой мануал, списание с Википедии. Второй создан тем, кто переварил первый, пощупал на практике..
#163 #556981
>>556979
Звучит ужасно, но практике так оно и есть, похуй на качество, работает пускай, а после наймем умного, он ага починит.
#164 #556985
>>556981
Дело в том что на многих проектов качество и не нужно. Когда очевидно что код никак не будет развиваться и поддерживаться, нахуя все делать по уму?
#165 #557001
>>556977
да, но чтобы понять эту табличку, надо знать ровно полтора принципа. или ты таблицу умножения 1..1000 х 1..1000 тоже запоминаешь?
#166 #557003
>>556981

>а после наймем умного, он ага починит


Как верно отметил >>556985 , до стадии "наймем умного" доходят от силы процентов десять проектов. После того как умный видит какое говно ему предлагают чистить вилкой и называет цену, остается еще меньше.
#167 #557028
>>557003
И поэтому нанимают в итоге чувака, который отличает функцию от переменной. ИЧСХ, он впиливает новые фичи и говноподелие дальше работает.
#168 #557035
>>556943
это когда тебе 5 сотрудников в рот срут, а ты жрешь
#169 #557073
>>557028
Чем функция от переменной отличается?
sage #170 #557075
>>557073
ничем
#171 #557077
>>557075
Вы приняты!
#172 #557096
>>557075
Блин, я уже испугаться успел.
#173 #557105
>>557001
Ванильный жс убогий. Убогое приведение типов, убогий сишный синтаксис, кривое ооп.
Вот эти вот безобидные "правила" очень засоряют голову. Как это делала пыха в свое время. Потом таких людей хуй научишь думать нормально.
Нужно начинать учиться программировать с продуманного и логичного языка, вроде петона, а потом переходить к нелогичным ассинхронным коллбэкам с промайсами, если так хочется.
#174 #557111
>>557105
Непривычный не значит убогий.
"думать нормально " не всегда значит " мыслить вызубренными шаблонами "
#175 #557120
>>557105
В асинхронных колобках и промисах всё вполне логично, фундамент чист и понятен, если ты знаком с континуациями и прочим programming language theory. Реально нужных частных правил для разработки на JS знать надо не много: как в нём работает прототипное наследование, функции-конструкторы, и что если непонятно, в x число или строка, а надо число, пиши +x. Минимализм JS радует. Жаль всё испортят добавлением всех этих модулей, классов, shadow символов, и прочей параши. По-мойму, из Harmony реально полезны только стрелко-лямбды и генераторы, остальное - мусор.
#176 #557122
>>557111
А всякие кофе и тайпскрипты нинужны, ты это имеешь в виду?
#177 #557126
>>556952
>>556968

Я php кодер с малым опытом, который очень хочет съебать с нынешнией работы, где его хуево написанный фронта и бек разгребать.
Рассылал свою резюме всем подряд в надежде укатится на Руби, вот ответили с такой вакансии: js, jquery, асинхронность и вот эта хуйня
>>556943 , плюсом будет Руби. Делают мобильные приложения.
На собеседование будет тестовое задание, не знаю к чему готовиться, это чисто фронт-енд или что-то интереснее.
У меня в резюме ни ноды, ни прочих ангуляров делающих жс круче.
Только жквери и ванильный.

Мне надо там кормена полистать?
Или ооп жс? Или там нужно будет только окошечки анимировать?
#178 #557136
>>556966
Мне кажется у тебя немного ПИТОН.
156 Кб, 200x200
#179 #557145
>>557105

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

401 Кб, 1080x1080
#180 #557203
Помоги мне, анонимус.
Есть таблица. В ней колонка, в которой нули и какие-то еще цифры. Нужно выделить ненулевые клетки (цветом, шревтом, чем угодно). Еще было бы неплохо просто выпилить все строки с нулем в этой ячейке. Сможешь?
Я так-то знаком с js, но поверхностно, и немножко ленивое хуйло.
#181 #557210
>>557145
Так, не понял, ты что, не любишь питона?
#182 #557214
Ребятушки, как в ноде грамотно собрать всю статику в папочку dist?
Ну сконкатинировал я жсы и кссы, но что делать с кратинками и шрифтами пути к которым прописаны в ксс? Перебрасывать их все в dist?
#183 #557216
>>557214
Забыл сказать, что статику у меня отдаёт nginx и по логике отдавать он должен только папку dist.
#184 #557247
>>557203
Так и знал, хуй от вас чего дождешься

$('#torrent_table tr td:nth-child(7)').each(function (){if (this.innerHTML == 0) {this.innerHTML=''}});
#185 #557263
>>557210
А ты что, ПИТОНОЛЮБ?
#186 #557265
>>557214
У меня в приложениях есть отдельная папка для всего того, что отдается клиенту - кссы, клиентские жсы, картинки, шрифты и прочее. Ну разбито по категориям, но внутри единой папки. Почему тебе не сделать также?
#187 #557279
>>557265
Ну допустим есть бутстрап и ещё кучи либ, которые ставятся через npm. Как их безболезненно сбилдить?
#188 #557281
Ребят, почитал на лурке что у js есть некие проблемы с ООП, так и есть?
#189 #557296
>>557281
Те, кто юзают ооп в жсе - долбоёбы, вот и вся проблема. Вопросы есть?
#190 #557300
>>557296
тобишь, нахрен это не нужно?
ньюфажка-кун
#191 #557307
>>557300
Не нужно совершенно. Но если очень хочется, то в ES6 есть обычные классы.
#192 #557309
>>557307
исчо вопрос, нужно ли хорошо знать голый js, чтобы-допустим, учить ангуляр?
#193 #557314
>>557309
Да, желательно. Хотя бы средне. Хотя ангуляр проще, чем голый жс.
#194 #557338
>>557214
Храни картинки и шревты, где хошь, а в dist создай символическую ссылку на них. Сам так делаю. Ссылки можно хранить в гите.
#195 #557342
>>557263
А как можно его не любить?
#196 #557355
Я каждый день люблю своего ПИТОНЧИКА.
#199 #557433
>>557358
О, я тогда все 200 должен получать по их логике.
работал с жиквери, битриксом и вёбканвас
#200 #557447
>>557342
Но ведь все питонисты долбоебы. Зачем быть долбоебом?
1308 Кб, 245x245
#201 #557448
>>557358
Senior разработчик - он как Рэмбо
ой блядь
#202 #557452
>>557105
Ну ты посмотри как устроен любой неблокирующий код в питоне, ну хотя бы тот же Торнадо. Блять так там же коллбэки йобана. ВОТ ЭТО ПОВОРОТ!
#203 #557454
>>557120

>По-мойму, из Harmony реально полезны только стрелко-лямбды и генераторы, остальное - мусор.


Ну ещё интерполяция строк. Использую coffeescript и browserify где все эти ништяки уже много лет как есть.
#204 #557457
>>557281
Нет там никаких проблем

>>557296
Для тебя ООП = классы типа как в С++, я правильно понимаю. Ну нахуй пройди тогда. ООП в принципе не предполагает классов типа Java/C++ — это всего лишь частные случаи реализации хоть и весьма популярные, несомненно.
#205 #557458
>>557307
В ES6 не обычные классы, а обёртка над прототипами, неуч.

Пиздец сколько тут неграмотных бляяяяяяять
#206 #557467
>>557247
Раз уж жекверю используешь - нахуя тебе innerHTML?
#207 #557468
>>557281
Проблемы только у тех, кто привык к ООП в других языках. У них, когда они пишут ОО-код на жс, порой случаются приступы неистового кряканья.
#208 #557472
>>557120
Модули нужны. Классы - лишь синтаксис, чтобы не переписывать по десять раз Pituh.prototype.zakukarekat = function и Rubypituh.prototype = Object.create(Pituh.prototype). По мне, единственное сомнительное нововведение - let и const, потому что одни будут по старинке ставить var, а другие выёбываться и везде пихать свои let и const.
#209 #557474
>>557472
В commonjs модули сделаны не хуже, нахуя было плодить ещё блять один вариант, чтобы потом писать ебучий SystemJS или как там его, который понимает и ES6 и CJS и AMD…
#210 #557475
ООП для пидорасов
#211 #557483
>>557475
аминь
23 Кб, 622x323
#212 #557491
Как блять не проебываться с этой асинхронностью?
33 Кб, 622x517
#213 #557492
#214 #557494
>>557358

>после обучения


>сеньор


Сеньор уровня интернет-лохотронов.
#215 #557745
>>557358

> сеньор


> опыт < 1 года

#216 #557754
>>557745
Сеньор джуниор
#217 #557789
>>557754
сэр сеньйор
#218 #557850
Нужно как-то сохранять определенную информацию (массив неограниченной длины) на клиентской стороне и каждый раз при запросе на сервер посылать её параметром. Эта инфа должна сохраняться как минимум на протяжении сессии.
Где ее хранить? В куках? Но ведь у них, кажется, есть ограничение на размер? Если не в куках, то где?
#219 #557868
>>557850
local storage, session storage.
#220 #557895
>>557491
Тащемта секретов тут нет, просто береш и не проебываешся.
#221 #557903
Сказ о том, как любители CoffeScript и прочего сахарка соснули: http://habrahabr.ru/post/268753/

Пишите на обычном JS, пусть хипстеры дальше ебут себе мозг сахарком.
#222 #557914
>>557903
Комменты к статьям принципиально не читаешь?
#223 #557915
>>557914
И что там в комментариях, кроме подрывов кофеблядков?
#224 #557932
>>557903
А ты и твоя хабрамакака вообще в курсе что кофе компиляется даже под IE6?

>Как так вышло


Проиграл с охуительных историй в статье.
#225 #557938
>>557915
А чем они соснули-то? Код, в который транслируется, выполняется быстрее других вариантов на ванили (а иначе и быть-то, по-моему, не могло - примитивный и топорный луп всегда будет быстрее всяких красивых однострочных изъёбств).
#226 #557942
>>557914
Ой, да ладно. Коффескриптеры начали оправдываться, типо всё не так, типо можно по другому. Просто есть выбор. Они ебанутые же. Я уж лучше на ванильном буду писать, чем с сахаром ебаться, чтобы потом ещё тормозило всё.
#227 #557943
>>557938
В том то и суть. Что ваниль рулит, а кофескрипт и прочий сахарок - ненужен.
#228 #557944
>>557932
И что блять? Геморой себе только больше делать используя кофе и прочий сахар.
#229 #557948
>>557944
Ты автор той статьи чтоле? Откуда эта ебанутая привычка сыпать словечком "сахар"?
#230 #557954
>>557943

>В том то и суть.


В чём, блядь, суть? Что кофе не медленне? Что на ванили есть возможность проебаться и медленный код написать?
#231 #557955
>>557943
Ты идиот?
#232 #557956
>>557954
На кофе она тоже есть, разумеется, но в данном случае автор, пытаясь показать превосходство ванили, хорошенько так обосрался. Питонистам понравились бы, наверное, генераторы списков.
#233 #557958
>>557944
Неосилятор закукарекал заместо авроры.
Тебя кто-то заставляет что ли? В анус начальство долбит за неиспользование кофе?
Кофе тащемта был обкаточным полигоном для ES6. Так что даже если ты пишешь на ванили, так или иначе ты уже частично пишешь на кофе, на твоём ненавистном сахарке.
#234 #557969
>>557958
ВРЁТИ!!1! Я НА ЧИСТОМ ПИШУ!1! НА АРИЙСКОМ!
#235 #557990
>>557903

>Захабренный


Лол, ну тут все ясно
38 Кб, 720x304
#236 #557991

>ваниль


>кофе


>сахарок



Я сщас ещё и пончик захочу, Гринли.
#237 #558085
>>557903
Когда есть выбор, я пишу на обычном JS, хоть кофе мне и нравится чуть больше. Просто потому, что по большому счёту мне похуй, но если попадётся заказчик с программистом-ебанатом-неосилятором, который полезет изучать примеры моего кода, есть такие варианты:
- он любит кофе и толерантен к ванили
- он любит ваниль и толерантен к кофе
- он любит ваниль и хейтит кофе
Если человек любит кофе, у него, как правило, достаточно интеллекта и сам стиль мышления не такой, чтобы хейтить ваниль, а вот наоборот - очень часто не так: типичное быдло аггрится на всё что сложно / нипанятно / лень изучать и тд. А в программировании, особенно в вебе, большинство кодеров, особенно работающих - это именно такие вот быдломрази.
#238 #558108
>>558085
Ибо нехуй плодить сахарок. И всякие LESS, тоже засуньте себе в задницу.
#239 #558110
>>557958
В том то и дело. Чистый JS уже умеет всё то, что даёт кофе. И нахуй он нужен такой? Ненужен.
#240 #558114
>>558110
Красивый синтаксис без долбоебизмов.
15 Кб, 236x398
#241 #558149
>>557991
Что тебе не нравится, сахарок?
#242 #558161
>>558085

>А в программировании, особенно в вебе, большинство кодеров, особенно работающих - это именно такие вот быдломрази.


Лал.
#243 #558186
>>557991
Предпочитаю без сахара.
#244 #558191
Попробовал ваш Атом, чёт автодополнение какое-то. Есть какой-нибудь пакет, который фиксит это дело?
#245 #558216
Ананасы, следующий вопрос.
JS не знаю, обычно пишу на питоне, шарпе или джаве. Нужно сделать небольшое приложение, которое бы работало и на десктопе, и на андроиде. Обычно я такое пишу на питоне (киви с поддержкой тача/свайпа и прочего). Приложение - выбирать всякие опции, радиобоксы и списки, будет отображаться текст и пересчитываться некоторые величины.

Вопрос (еще раз, хтмл/ксс/джскрипт знаком мне очень поверхностно, но осилить, конечно, не составит сложности) - а стоит ли задрачиваться для такого просто приложения с питоном, или можно это написать в виде вебстранички со скриптами?
7 Кб, 321x148
#246 #558217
Поясните по хардкору за круглые скобки.

Крокфорд «JavaScript. Сильные стороны»:

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



Есть инструкция присвоения функции переменной name:

>var name = function() { ... };



Есть сокращенный вариант этой же инструкции:

>function name() { ... }



То есть сокращенный вариант имеет такую форму:
function <имя> (<параметры>) {<тело>}

Если я пытаюсь написать просто function(){} без имени как на пике внизу, то нарушаю синтаксис. Скобки же позволяют указать, что эта запись не инструкция, а выражение. Я правильно понимаю?
#247 #558218
>>558217
В первом примере ты просто вызываешь объявленную функцию с параметром 2 сразу же после объявления. Во втором тупо ошибка. Хер знает, что ты подразумеваешь под выражением.
#248 #558236
>>558218

>вызываешь объявленную функцию с параметром 2


Я понимаю, что происходит. Но не понимаю, почему, не нашел четкого определения. Почему второе выдает ошибку, а первое нет? Разница между двумя примерами только лишь в наличии скобок
#249 #558237
>>558217

> Я правильно понимаю?


Да.
#250 #558299
>>558217

>Если я пытаюсь написать просто function(){} без имени


А нахуя тебе анонимная функция посреди кода?
4 Кб, 436x34
8 Кб, 203x106
#251 #558320
>>558299

>Нахуя


Чтобы понять нахуя круглые скобки вокруг функции в первом примере.
#252 #558340
>>558320
Ну такой синтаксис, сахарок. Что ты хочешь услышать?
#253 #558360
>>558340
Я уже все понял.
#254 #558368
>>558191
атом это заебись, атом это свобода
#255 #558380
>>558368
Шрек это любовь, Шрек это жизнь.
23 Кб, 936x1056
#256 #558390
#257 #558423
>>558216
Написать можно такую страничку, работать будет даже на холодильнике с веббраузером . Нужно ли змею с птицей призывать для такого- хочешь делай, в чем проблема то.
#258 #558489
Объясните ньюфагу, можно ли написать динамическую веб страницу совсем не затрагивая php? Можно ли это сделать используя вместо него ДжС?
#259 #558494
>>558489
ангуляр же есть
#260 #558496
>>558489
Да. И да.
#261 #558501
>>558489
жи есть
174 Кб, 1280x854
#262 #558504
>>558494
>>558496
>>558501
Спасибо, просто купил пикрилейтед, думал просто вкурить основы веба, а че то уже жалею, там все через ссаный php...
#263 #558506
>>558504
стоит ли читать или не засорять голову?
#264 #558511
>>558506
лучше попова курсы, там реальные знания
#265 #558512
>>558504
Так ПХП норм же, репутация у него не очень как и у JS из-за низкого порога входа: ньюфаги сразу берутся кодить, особо нихуя не выучив, высирают быдлокод, и потом люди ругают ПХП и JS. Но язык-то тут ни при чем.

Короче, выучи и ПХП, и JS.
#266 #558515
>>558511
Че то щас зашел на его сайт и в голос... Сапожник без сапог
#267 #558529
>>558515
лол, а ведь рили, клепает говнокурсы, а на работу никто не берет
#268 #558534
>>558506
Основы ноды с экспрессом прочти, ПХП не нужен будет.
#269 #558571
>>558216
Как бывший питонист скажу - у тебя уже есть инструмент, вот его и используй.
#270 #558573
Как думаете когда все перейдут на новую версию жс?
#271 #558577
>>558573
Кто все?
#272 #558579
>>558512
Ловите долбоёба. Нахер ему старьё php, когда хватит JS для всего?
#273 #558581
>>558573
Дак уже же.
#274 #558582
>>558512
иди падмойся маня
#275 #558583
>>558299
А я таким образом код группирую.
#276 #558588
Так я не понял, тут кто-то не любит сахарок?
#277 #558592
>>558299
о нубас палится
2042 Кб, 370x271
#278 #558596
Пацаны/Девчонки, какое рабочие окружение вы используете?

Делаю приложение на node + angular. Поставил Webstorm - сильно тормозит, да и триал период подходит к концу.

Привык к VisualStudio т.к. работаю C# помидором, но в VS все также тормозит.

Новичкам наверное также будет интересно
#279 #558599
#280 #558601
>>558596
Sublime Text + консоль. Всё летает. Ссу в лицо IDE блядям, которые ебуться с их тормозами, т.к. это говно всё пишется на Java.
21 Кб, 574x576
#281 #558607
>>558599
70к, Екатеринбург

>>558601
Склоняюсь к той же мысли, бро
#282 #558616
#283 #558643
>>558571
Он мне нравится эстетически, особенно вставки из функционального программирования. Но я не фанатик, так что если целесообразней использовать хтмл и прочее - я не против. Или я просто ищу повод разобраться в новых языках.
#284 #558652
>>558643
Просто если ты что-то используешь, то лучше углубиться в это очень хорошо. Тем более, что задачи решает. Я раньше скакал как ёбанная макака, то php, то python, вот JS ещё. И чувствовал себя не очень. Потом сел и решил, что мне реально будет нужно в ближайшие несколько лет, чем я хочу заниматься, какую технологию одну можно взять и она решит мне максимально задачи - вот её и познать до профи. Выбрал JS.
#285 #558662
>>558596

> Webstorm - сильно тормозит


Совсем нищебродская машина, что ли? Мне нравится вебшторм, зависимость есть, брат жив.
#286 #558667
>>558652
Спасибо за совет, анон.
#287 #558671
>>558643
Много продвинутых челов любит говорить что надо мочь как минимум в два инструмента, а не пытаться применить один язык на все задачи
#288 #558676
>>558504

> купил книжку, в названии которого первым словом идет PHP


> жалуется, что в книжке много про PHP

#289 #558677
>>558671
Если раньше для сервера нужен был Python/Ruby/Etc, а для браузера JS. То сейчас везде можно использовать только JS. Надобность в ещё одном языке отпадает.
#290 #558678
>>558596
консолька (git, cat, sed, less, ack), spacemacs, vim (по мелочи)
#291 #558696
Сабж.
Учусь в одном неплохом вузе в ДС-2(1 курс) на инженегра. Т.к. по специальности до 3-го курса работать не получится, то хотелось бы уже на втором курсе устроиться хотя бы стажером в какую-нибудь около-it контору. В наличие имеются базовый знания по html, css и некоторым яп(но там совсем основы). Внимание вопрос: Реально ли за пару месяцев задрочить js и устроится куда-нибудь на подработку веб-обезьяной?
#292 #558701
>>558696
Вряд ли, ребят без опыта на подработку не берут.
#293 #558750
>>558696

>по специальности до 3-го курса работать не получится


А после третьего что-то изменится типа
#294 #558756
>>558750
Там наверное их на практику какую запихают. Только все бабки как всегда будет сраный вузик забирать, а эти будут рабами работать бесплатно или за копейки.
#295 #558864
>>558696

>Реально ли за пару месяцев задрочить js и устроится куда-нибудь на подработку веб-обезьяной?



Если подработка, то тебе и js не нужен, иди обезьяной-верстальщиком.
#296 #558868
>>558864

>Если подработка, то тебе и js не нужен, иди обезьяной-верстальщиком.


Обезьяно-верстать сложнее, конторы использующие обезьяноверстальщиков любят требовать пиксельперфект под нетскейп навигатор на микроволновке. А в жс нахуячил полифиллов и можно писать код не отвлекаясь на совместимость.
70 Кб, 811x436
#297 #558869
>>558662
Внезапно, нет - вот такой ноутбук https://market.yandex.ru/product/11547624?hid=91013&track=fr_cm_wnble

Видимо такова судьба - либо тормоза либо пердолится в консоли

>>558678

>spacemacs


>vim


Ловушка для ньюфагов - на работе один чел так и не смог выйти из vim пришлось переустанавливать шиндовс
#298 #558878

>http://learn.javascript.ru/searching-elements-dom


>Это поведение соответствует стандарту. Оно существует, в первую очередь, для совместимости, как осколок далёкого прошлого и не очень приветствуется, поскольку использует глобальные переменные. Браузер пытается помочь нам, смешивая пространства имён JS и DOM, но при этом возможны конфликты.


>Более правильной и общепринятой практикой является доступ к элементу вызовом document.getElementById("идентификатор").



Прокручиваем на несколько уроков вперед...

>http://learn.javascript.ru/event-delegation


>new Menu(menu);

72 Кб, 994x563
#299 #558900
Зачем этот шайтан так делает?
#300 #558902
>>558900
Область видимости.
#301 #558908
>>558900

>==


>==undefined


Попался, пидорас!
#302 #558909
>>558908

Не стукай. В чем дело-то? === типа надо?
#303 #558918
>>558909
Там по идее без сравнения можно. И без if тоже
#305 #558930
>>557903
Там в первых же комментах ващет:
«Вот добавил ваш последний тест на jsperf, в Chrome CS-цикл быстрее чем JS reduce более чем в 2 раза, а в Firefox CS-цикл быстрее в 20 раз.»
а автор просто дебил, так как ниже там признался, что гонял тесты только на ноде 0.10 блять. клоуны…
#306 #558932
И отдельно я кекнул от ванилоблядков тут:
https://github.com/v8/v8/blob/4.8.54/src/js/array.js#L1292-L1307
#307 #558937
Ананасы, где ищете удаленку по ноде?
#308 #558979
Сегодня я запустил вебшторм только для того, чтобы сменить ветку и сделать пуш. Со мной всё будет в порядке?
#309 #558990
>>558900
Кто то не умеет в области видимости.
#310 #558994
>>558616
>>558616
Два чая этому господину.
#311 #558997
>>558085
на хуй кофе, если в ES6 уже все прекрасно. А так, как любитель ванили я равнодушно отношусь к кофе. Читать могу, но писать на нем чет как то не хочется.
#312 #558998
>>557358
>>557358
Сеньор. Сразу после курсов. Опыт меньше года.

ДА Я БЛЯТЬ CTO УЖЕ НАХУЙ ПО ИХ ЛОГИКЕ.
#313 #559007
>>558997
Нахуй ES6, если в кофе всё это прекрасное уже несколько лет как есть, а для ES6 всё так же нужен препроцессор?
#314 #559012
>>558997
У меня мозг кофе не воспринимает. Я когда смотрю на js код - я мгновенно анализирую вот это метод, вот сюда можно передавать объект с параметрами, тут создается объект, тут используются поля this и пр.

А когда я смотрю на то же самое в кофе - я тупо вижу набор букв и ничего более.
пичаль бида огорчение
#315 #559035
>>558869
ну и говнина же
#316 #559039
>>558534
Нода - это я так понимаю NodeJS? А Экспресс то это что?
#317 #559041
>>559039
http://expressjs.com/ru/
Первая выдача в гугле.
И этта, если хочешь найти работу - научись пользоватсься гуглом.
#318 #559044
>>559039
ExpressJS
#319 #559198
кукумбер, гхеркин, моча
Чёто рофл
sage #320 #559277
cuckold.js
55 Кб, 604x453
#321 #559285
Какой фрэймворк сейчас лучше учить? Вообще, в чем писечка работы фронтэнд разработчика, что вы делаете в своих офисах?

Я дрочнул основы JS прослушав курсы специалиста, прочитав примерно половину Флэнагана и половину ниндзи Резинга (сейчас буду добивать вторую половину, книжка понравилась больше Флэнагана). Знаю неплохо HTML5 и CSS3, хотя опыта маловато. Также использую для css sass. Дело в том, что мне бы хотелось съебать из своей мухосрани в москвобад уже где-нибудь в конце января-феврале на зарплату в 50К и я пошел во фронтэнд.
#322 #559297
>>559285

> москвобад


> 50к


Придётся делить постель с таджиком
#323 #559298
>>559297
А что ты можешь предложить, как можно больше получать знаю js и в ближайшее время?
#324 #559299
>>559298

>знаю


зная
#325 #559316
>>558108
Пиши на ассемблере, пидор
#326 #559317
>>559285
Я вот жду когда ангуляр2 выпустят
#327 #559318
>>558878

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


Жопой читаешь мразь поганая? Ты такой же урод, как 99% людей из комментариев там, пиздец долбоёб
#328 #559341
>>559318
У тебя БЭКБОН
#329 #559372
>>558902
>>558990
Что "Область видимости"? Я так и не понял как он это сделал.
#330 #559397
>>559372
у кого-то здесь js - первый язык программирования?
хреново быть тобой
#331 #559416
test
#332 #559476
>>559372
Что ты не понял? В яваскрипте есть lexical scope, как бы контекс, в котором определюятся функции и переменные.

Компилятор когда строить дерево инструкций смотрит снизу-вверх, тобишь если ты в глобальном контексте (вне функции) обращаешся к функции, он смотрит все декларации на этом уровне, и не найдя выкидывает - Reference error
#333 #559512
>>559285
Реакт - очень популярный, да и в принципе толковый фреймворк.
Ангуляр - низкий порог входа, туева хуча проектов на нем сейчас.
Бэкбон поизучай не для работы в проде, а чтобы понимать концепцию MV*, там все наглядно.
#334 #559513
>>559007
транспиллер, а не процессор.
много ништяков es6 уже внедрено в браузеры без перевода на es5.
Плюс та же 4 нода позволяет тебе писать на прекраснейшем.
#335 #559514
>>559012
>>559012
Видимо ты не работал с проектом на руби. Обычно в таких проектах и командах царствует кофе.
#336 #559515
>>559513
*препроцессор
фикс
#337 #559516
>>559285
ReactJS, AngularJS, Express.js, Strongloop
#338 #559521
>>559512
Реакт - это НЕ ФРЕЙМВОРК. Никогда не смей называть его фреймворком, особенно на людях.
#339 #559539
>>559521
Погоди, если взять всю экосистему, типа falor/graphQL,FLUX/REDUX, экспресс, хуес, вебпак-хуяк, тулс-хуюлс то очень нихуевый получается фреймворк : Mix your own

А так вообще да, библиотека. Framework agnostic, вполне отлично вшивается в любой фреймворк, хоть метеор, хоть в ангуляр
#341 #559558
Чем Brackets хуже Атома?
#342 #559561
>>559558
Тем, что ты пидор.
Качай, блядь, и смотри сам, что тебе больше понравится, а то хуле как маленький.
#343 #559565
#344 #559567
>>559561
Да я скачал давно все. Пользуюсь Брэкетами. Атом не устроил. Но тут большинство хвалит его. Хотел услышать аргументы. Ясно?
#345 #559695
Оставил свое сообщение в тонущем треде. Повторюсь тут. Уважаемый, Аноний, я хотел бы хоть как-то оценить свой багаж знаний. Есть ли тут люби более-менее высоко уровня? Может ли кто нить уделить 30-40 минут своего времени и прособеседовать меня?
3061 Кб, Webm
#346 #559697
Меня доебало это лексическое окружение. Олдфаги, поясните плиз по хардкору.
Вот пример:
_______________________________________________________
function makeCounter() { //Написано: создается 2 счетчика, у каждого внешняя переменная currentCount своя и они независимы,
var currentCount = 1; //потому что при каждом запуске makeCounter создаётся свой объект переменных LexicalEnvironment,
return function() { //со своим свойством currentCount, на который новый счётчик получит ссылку [[Scope]].
return currentCount++;
};
}
var counter = makeCounter();
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter() ); // 3
var counter2 = makeCounter();
alert( counter2() ); // 1
________________________________________________________
var currentCount = 1; //Далее идет пример, в котором эти счетчики получают в своё лексическое окружение глобальную переменную,
function makeCounter() { //которая принадлежит глобальному объекту window и якобы поэтому,
return function() { //она не сбрасывается и оба счётчика увеличивают одну и ту же переменную.
return currentCount++;
};
}
var counter = makeCounter();
var counter2 = makeCounter();
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter2() ); // 3
alert( counter2() ); // 4
__________________________________________________________
var outer = function() { // Но тогда почему, если я кладу предыдущий пример в функцию, где, как я понимаю,
\tvar currentCount = 1; // currentCount уже должен принадлежать не глобальному window, а LE функции outer,
\tfunction makeCounter() { // и для каждого счетчика должна быть создана своя переменная currentCount,
\t return function() { // они один хуй увеличивают общую переменную?
\t\treturn currentCount++;
\t };
\t}
\tvar counter = makeCounter();
\tvar counter2 = makeCounter();

\talert( counter() ); // 1
\talert( counter() ); // 2
\talert( counter2() ); // 3
\talert( counter2() ); // 4
}
outer();
3061 Кб, Webm
#346 #559697
Меня доебало это лексическое окружение. Олдфаги, поясните плиз по хардкору.
Вот пример:
_______________________________________________________
function makeCounter() { //Написано: создается 2 счетчика, у каждого внешняя переменная currentCount своя и они независимы,
var currentCount = 1; //потому что при каждом запуске makeCounter создаётся свой объект переменных LexicalEnvironment,
return function() { //со своим свойством currentCount, на который новый счётчик получит ссылку [[Scope]].
return currentCount++;
};
}
var counter = makeCounter();
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter() ); // 3
var counter2 = makeCounter();
alert( counter2() ); // 1
________________________________________________________
var currentCount = 1; //Далее идет пример, в котором эти счетчики получают в своё лексическое окружение глобальную переменную,
function makeCounter() { //которая принадлежит глобальному объекту window и якобы поэтому,
return function() { //она не сбрасывается и оба счётчика увеличивают одну и ту же переменную.
return currentCount++;
};
}
var counter = makeCounter();
var counter2 = makeCounter();
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter2() ); // 3
alert( counter2() ); // 4
__________________________________________________________
var outer = function() { // Но тогда почему, если я кладу предыдущий пример в функцию, где, как я понимаю,
\tvar currentCount = 1; // currentCount уже должен принадлежать не глобальному window, а LE функции outer,
\tfunction makeCounter() { // и для каждого счетчика должна быть создана своя переменная currentCount,
\t return function() { // они один хуй увеличивают общую переменную?
\t\treturn currentCount++;
\t };
\t}
\tvar counter = makeCounter();
\tvar counter2 = makeCounter();

\talert( counter() ); // 1
\talert( counter() ); // 2
\talert( counter2() ); // 3
\talert( counter2() ); // 4
}
outer();
#347 #559699
>>559697
Блядь, просто не используй одинаковые имена для переменных.
#348 #559706
>>559699
Причем тут одинаковые имена, если надо разобраться как лексическое окружение работает?
#349 #559710

>559697


Ты блеять долбоеб. Твое место возле параши, а не в профессии.
Тоже блеять первый язык программирования?

Еще раз, тебе ущербному объясняют, что переменная currentCount может принадлежать даже Юпитеру, даже Сатурну, но сцуко про области видимости и про то, что такое блеять замыкание - ты знать обязан и обязан понимать.

Читай и просвящайся http://javascript.ru/basic/closure И пока не прочитаешь - не приходи
#350 #559712
>>559710
Славик, почему ты такой злой?
#351 #559715
>>559712

>Славик


Мимо, но статью ты все равно прочитай!
#352 #559719
>>559715
Я не он. С зымаканиями отлично разбираюсь. Просто ты слишком много нервничаешь.
#353 #559732
>>559697
Во-первых, используй pastebin или plunker какой, читать невозможно.
Во-вторых, второй пример от третьего отличается только тем что во втором переменная и счетчики создаются и вызываются в window, а в третьем - в outer. С точки зрения области видимости - разницы никакой.
Читай, в общем, https://learn.javascript.ru/closures . После каждого прочтения три раза повторяй "Замыкание — это функция вместе со всеми внешними переменными, которые ей доступны."
#354 #559735
>>559710
Иди нахуй, мразь.
>>559732
Ты думаешь я написал всё это, не прочитав? Я уже 3-й час с этим сижу.
Я вижу, что в 3-м примере счетчики не в глобале, я это написал. Но почему в 1-м примере, они тоже не в глобале, но для каждого счетчика переменная currentCount создалась своя, а в 3-м - нет?
#355 #559741
>>559735
Где у тебя печать outer?
5 Кб, 314x314
#356 #559744
>>559741
Какая печать?
#357 #559766
>>559735
я ж говорю, что тебе не место в профессии.
еще раз, очисти разум, забудь все что ты знал до этого и прочитай https://learn.javascript.ru/closures и только тогда к тебе снизойдет просветление
#358 #559775
>>559735

>Ты думаешь я написал всё это, не прочитав? Я уже 3-й час с этим сижу.


Я переписал все три функции из >>559697
1) http://plnkr.co/edit/9sDMQPmEDpGCBZJltiHJ?p=info
2) http://plnkr.co/edit/3pPkGpWoFrdYMRWmvP4Q?p=info
3) http://plnkr.co/edit/hr8SzpZlFgV3EjiI2Eao?p=info
Стало ли тебе понятнее, почему они так работают?
#359 #559787
>>559697
дурацкая аналогия, не совсем правильная, возможно, тут с нее проорут, но возможно до тебе дойдет смысл твоих примеров:

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

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

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

надеюсь, поможет...
77 Кб, 317x372
#360 #559791
>>559787
Да у тебя талант. Не хочешь учебник написать?
#361 #559804
>>559697
В первом примере новая переменная счётчика создаётся при каждом вызове makeCounter (и используется созданным там счётчиком), а во втором и третьем лишь один раз — при запуске глобала и при вызове outer, соответственно. Имея одну переменную, очедвино, инкрементироваться только она одна и может. Вот и весь секрет. Какие-то лексические окружения, замыкания — нахуй эти слова учить вообще? Только запутывают.
#362 #559809
>>559697
currentCount принадлежит LE outer, тут правильно. Но вот схуяли ты взял, что каждому счетчику должна быть создана своя переменная currentCount? Внутри функции создания счетчика makeCounter нет объявления новой переменной currentCount, LE функции makeCounter равен пустому объекту, свойство [[Scope]] функции makeCounter ссылается на LE функции outer в котором есть переменная currentCount. Функция makeCouter возвращает анонимную функцию в которой тоже нихуя не объявляется, поэтому LE ей равен пустому объекту. Итого при вызове counter или counter2 ищется переменная currentCount сначала в собственном LE, который пустой как я писал выше, дальше по ссылке [[Scope]] ищется в LE функции makeCounter, который тоже пустой, дальше по ссылке [[Scope]] ищется в LE функции outer где и находит её. Что counter, что counter2 при поиске переменной currentCount в конечном итоге находят её в LE функции outer, поэтому она общая у них.
#363 #559814
>>559804
Потому что. Без знания специфики замыканий js, ты в жини не поймешь в чем багла вот этого вот кода

for (var i = 0; i < 10; i++) {
setTimeout(function(){
window.alert(i);
}, 1)
}
#364 #559836
>>559814
undefined
#365 #559840
Анон, какие твои оправдания для использования this?
#366 #559841
>>559840
а что это?
#367 #559843
>>559840
В Реакте постоянно используется. Для обращения к props и state, для вызова setState и прочего.
#368 #559845
>>559840
Delphi:
Анон, какие твои оправдания для использования self?
C++:
Анон, какие твои оправдания для использования this?
Java:
Анон, какие твои оправдания для использования this?
C#
Анон, какие твои оправдания для использования this?
PHP
Анон, какие твои оправдания для использования $this?
#369 #559848
>>559845
вот только делфи, плюсы, жаба и пеха не нужны
#370 #559852

>>55981


Когда первый раз с этим столкнулся, то подумал несколько минут и всё понял. Как бы, ты ж увидишь, что тебе десять раз 10 заалертится, не трудно, наверное, догадаться, что во всех вызовах используется одна и та же переменная из лупа. Меняем это всё дело на
for (var i = 0; i < 10; i++) {
setTimeout(function(j){
window.alert(j);
}, 1, i)
}

чтобы в фунцию передавалось именно именно текущее значение i и готово.
#371 #559854
#372 #559855
>>559814
Как по мне половина проблемы в том что все десять таймаутов создаются до того как первый выполнится.
#373 #559856
>>559843
>>559843
ты сейчас серьёзно. Bind(this) ? Чухан
#374 #559858
>>559845
Ты правда думаешь, что сишные this и js - this похожи?
#375 #559859
>>559858
И то и то - доступ к объекту в контексте которого вызывается метод. Что не так?
#376 #559861
>>559859
Хуяссе, чего, в C# можно в this запихать внешний scope?
#377 #559862
>>559852

>используется одна и та же переменная из лупа.


Которая к моменту вызова уже добралась до 10 и там и осталась.
добавочка
378 Кб, 1000x500
#378 #559867
>>559804
Вот, спасибо тебе большое, ты охуенен, анон.
>>559809
>>559775
>>559787
И вам, спасибо, господа.
#379 #559868
>>559512
>>559516
спасибо, тогда наверну ReactJS, AngularJS
#381 #559911
>>559476
но почему в коде с чёрным фоном ошибка не выпадает?
#382 #559918
>>559911
А я ебу? Возможно выше по коду объявлено
#383 #559921
>>559911
норкоман? код с чёрным фоном это блокнот, блять! он код не выполняет и ошибки не пишет
#384 #560053
>>559869
Хотел написать "нафига ты мне это прислал", но пример с let в объявлении лупа и правда годный. Вот только решения как у меня там нет, почему-то, хотя оно же самое простое, по-моему, без необходимости создания каких-то там функций вокруг. Может, потому что никаких дополнительных скоупов не создаётся и замыкание как таковое не используется.
#385 #560204
>>560053
именно
#386 #560235
>>555116 (OP)
Посоны а на сколько зашкварно быть JS-макакой?
#387 #560245
>>560235
А в чем зашквар? Зарплаты больше питономакак и крестоёбов, тянки текут, так как технология хипстерская, а не задротская.
#388 #560255
>>560245
Ммм джаваскрипт, игрушки парень делает, ясно...
#389 #560260
>>560245

>чем зашквар?


>технология хипстерская


Ну даже не знаю
#390 #560261
Привет, написал страничку в которой при событии в дом добавляется тег стиль и все такое, но иногда при событии код как будто проглатывается, то есть тег не создаётся. С чем это связано как гуглить такое?

пример
dчocument.qчuerySelector
dчocument.qчuerySelector
ПОСЛЕ ЭТОЙ СТРОКИ ИНОГДА КОД НЕ СРАБАТЫВАЕТ
vчar clofe = dчocument.createElement
dчocument.bчody.aчppendChild

Когда тег не отображается в консоли его тоже нет, ошибок консоль не выдает.
#391 #560264
>>560245
хипстерство и есть говно, я таких как ты чморю на работе
#392 #560281
>>560264
А разве заправщику картриджей разрешено кого-либо чморить?
#393 #560301
>>560281
Хипстеров всем разрешено чмырить.
#394 #560321
Спорим что через месяц я буду кодить на JS лучше чем 99% обитателей этого треда.
#395 #560324
>>560321
Нет нибудишь!!
#396 #560325
>>560324
БУДУ. Кстати я новичек вообще в этом вашем программирования, просто я привык побеждать
#397 #560326
>>560325
gl hf, lolka
#398 #560328
>>560326
че?))))
#399 #560342
>>560281
да тебе любой человек на рожу нассыт
#400 #560356
ЕБАТЬ Я НАПИСАЛ СВОЙ ПЕРВЫЙ "ХЭЛОУ ВОРД", я теперь у мамы прогромизд
>>560325-кун
72 Кб, 382x363
#401 #560372
Настроен сервер ноды на ип подсети 192.16.8.1.43. Как мне вытащить её вовне, чтобы была видна из инета? Нужно порты перебрасывать на этот самый ип 192.16.8.1.43 или что?

В этих сетях, ип, нихуя не понимаю.
#402 #560389
>>560372
Да, на роутере, который у тебя делает НАТ (читай, преобразует серый 192.168.XXX.XXX в нормальный человеческий белый) делаешь проброс портов до твоего сервера. Тебе нужен будет статический адрес в твоей серой (192.168.XXX.XXX) сети.
Дальше, в зависимости от роутера делаешь проброс типа
"Всё, что мне пришлют на вот такой порт, пересылать на IP 192.168.XXX.XXX на такой-то порт"
Это всё, так же не обосрись с фаерволом на сервере - открой тот порт, на которм будешь слушать.
#403 #560403
>>560356
Держи нас в курсе
#404 #560413
Есть ли в JS хвостовая рекурсия?
#405 #560420
>>560413
Ага.
61 Кб, 700x469
#406 #560495
>>560389
Спасибо. Настроил и через no-ip.com домен еще.
#407 #560507
>>560495
Годная пикча, схоронил.

А вообще известный велосипед для обхода НАТ. Весёлая ебля начинается, когда надо ещё и провайдерский НАТ обойти. Вот там уже шаманство с pnat и прочей херью начинается. Или VPN.
#408 #560578
>>555116 (OP)
подскажите пожалуйста, в чём может быть ошибка? Мне надо создать вложенный список, я в цикле с помощью innerHTML создаю элементы списка и присваиваю им значения из массива, но почему-то у меня ничего не выводится.
http://pastebin.com/mmEtgmp6
#409 #560584
>>560578
Юзай jQuery, ваниль немного не для этого.
#410 #560587
>>560578
Ради бога, определись с тем, как ты ставишь скобки! То на той же строке, то на следующей, то на пустой, то хуй знает с каким отступом (меньше, чем у самого for'а, блин!).

А не создаёт ничего, потому что ты эти li хоть и создаёшь, но ни к чему не добавляешь. Как ты ul к li append'ишь, так и li к body нужно.

>>560584
кек
#411 #560594
>>560578
А вообще нет, ты аппендишь. Вот только ошибку, коорую браузер выдаёт, прочитать не хочешь, почему-то.
#412 #560597
>>560578
Алсо, как разберёшься с выводом — у тебя вложенный список будет выводить неправильные значения, так что можешь уже начинать поиск ошибки. хинт: у тебя j не используется.
#414 #560602
>>560578
Алсо, дети, в случае чего не пытайтесь делать так, как поступает сей молодой человек.
Фреймворки не на пустом месте придумали. Backbone\Angular.js вам в помощь
#415 #560603
>>560584
>>560602
Вы ебанутые.
#416 #560605
>>560603
Правда?
Приходи, когда напишешь свой первый website, который таки будет выведен в production
#417 #560606
>>560261
Может быть, ты выполняешь скрипт до того, как страница полностью загрузилась?
#418 #560608
>>560602
Нахуя тащить всякие фреймворки, ели нужно, например, две строчки текста добавить? Ладно ещё жквери, но со всякими бекбонами и ангулярами ведь весь сайт нужно на них строить!
#419 #560611
>>560605
Ну-ка сделай этот таск сначала на бекбоне, а потом на ангуляре, и покажи код. Чето мне кажется что ты баззвордов перегуглил.
#420 #560624
>>555116 (OP)
помогите разобраться в ошибке
мне нужно сделать выпадающий список так, чтобы при событии onmouseover открывался внутренний список,поэтому я создаю сначала внутренний список и ставлю ему свойство display="none", но в моём коде у меня при наведении всегда выпадает выпадает внутренний список последнего элемента первого списка, даже если мышка наведена не на последний элемент списка, подскажите в чём проблема пожалуйста
http://pastebin.com/N3icKJaZ
#421 #560626
>>560624
А мы тут как раз это вчера обсуждали. Замыкания, лексическое окружение и прочее. Почини отсупы и потом приходит.
#422 #560630
>>560624
Вот отсюда можешь начать — >>559697
#423 #560667
>>560626
У тебя замыкание головного мозга, даун, иди лечись
#424 #560706
>>560606
Нет, вызываю метод через document.addEventListener("DOMContentLoaded", bla.blabla());

Он не срабатывает вообще рандомно.
#425 #560723
>>560667
Ну как хочешь. Я твой код починил.

>>560706

>document.addEventListener("DOMContentLoaded", bla.blabla());


Надеюсь ты случайно скобки сейчас вставил? Потому что так не эвент листенер добавляется, а просто сразу функция выполняется.
#426 #560729
>>560624
У тебя ul2 перезаписывается на втором срабатывании ifa. Заключи все что внутри в самовызывающуюся функцию.
#427 #560766
>>560723
Ой не случайно, исправил но проблемка все равно осталась.
#428 #560767
>>556268
Похож на выхлоп кофескрипта
#429 #560770
>>558217
Это всё сильные стороны жидскрипта. ымвыфмв
#430 #560781
>>560766
"В сообщении присутствует слово из спам листа". Бороться с макакой желания нет — http://pastebin.com/9i8Qx8FE
29 Кб, 600x450
#431 #560862
Привет, есть несколько вопросов, но о них позже, сначала расскажу немного о себе. Знаю HTML/CSS и Фреймворк Бутстрап3, знаю на таком уровне что немного фрилансил версткой. Использовал в этом готовые решения JQuery (для галерей, слайдеров и прочей анимации, сам вряд ли смогу что-то написать на нем, насколько я понял сначала нужно освоить JS). Настал такой момент, когда мне этого оказалось мало, я решил почитать что-то JS. Зашел в /pr увидел этот тред, почитал шапку и нашел в ней книгу Дэвида Фленегана – “JS: Подробное Руководство”, прочитал около ста страниц и подумал, что это подобие некоего справочника, собственно вопрос заключается в том, есть ли книга, которая поможет мне проникнуться в суть языка и возможно научится с ним работать? С чего начать учить язык? Спасибо.
#432 #560894
#433 #560935
>>560781
На локалке, консольлог выводит. Весь код настолько ньюфажен и убог что мне кажется его смысла показывать даже частично нет. Проще говоря есть два конструктора X и Z у X 1 метод у Z 3 метода которые работают в событиях X, метод X обращается к методам Y и в одном из методов Y часть кода иногда не срабатывает. Причем только в Мозиле, в остальных браузерах и даже прости господи в IE отрабатывает все как положено.
#434 #560939
>>560935

>Весь код настолько ньюфажен и убог


Именно поэтому нужно показать. По описанию хрен поймёшь, что происходит и как ты это реализовал.
#435 #560948
>>560935
>>560935

>код настолько ньюфажен и убог


Ахахах что тут у нас, самоуничижаюшийся питушек с самооценкой на самом донышке. наканецта))))
#436 #560950
>>560862
В шапке же есть сайт http://learn.javascript.ru/, вроде все разжёвывают и задачи есть, ну я-то совсем нуфаг мне норм, а может вашему величеству, который ДАЖЕ ФРИЛАНСИ МАМАЧКЕ РОДНЫЕ будет не интересно
#437 #560955
>>560862
Понимаешь, после определенного момента - книги становятся не нужны.
Реально, чтобы изучить новый язык хватает простого справочника и stackoverflow.com
#438 #560966
>>560948
Ты чего раскукарекался так лол, при чем тут самооценка, начальники часто ругаются да?)))000 Я тащемто и не против показать если кому-то не лень читать и разбирать по частям мною написаное))))

>>560939
c 34 по 54 код не всегда срабатывает.

http://pastebin.com/dXZC0Vqx
#439 #560968
>>560966
Может ты просто сразу будешь выкладывать код, а кто-то сам решит помогать ему такой неуверенной в себе опущенке или нет?
#440 #560974
>>560966
Посоны, а почему я вижу что все делают отступы пробелами а не ТАБами? В чем сакральный смысл? Можно настроить Notepad++ на несколько пробелов на за одно нажатие?
нюфаня
#441 #560986
>>560968
Может ты пойдёшь в пешее эротическое путешествие на одно место, а я буду сам решать как мне просить о помощи.

> неуверенной в себе



Сильно тебя эта тема видимо волнует, проблемы наверно какие-то.
#442 #560989
>>560986
ой ой ой манечка разозлилась, давай, мань, злись в интернетике,. ведь ирл тебе злиться нельзя, а то вдруг о тебе подумаю чего плохо, о неуверенной такой манечке.
#443 #560992
>>560986
Пиздец, вы только посмотрите, тупой пидорахе объясняют как просить о помощи чтобы не терять ни свое ни чуже время, но пидораха копротивляется, что такое говно быдлячее делай в профессии? А ну пошел нахуй отсюда, пидорас.
#444 #560994
>>560989
А ты не думал что у всех людей есть своя манера общения не связанная в уверенностью/не уверенность а? поехавший.

>>560992

>что такое говно быдлячее делай в профессии


что хочу то и делаю

>А ну пошел нахуй отсюда, пидорас


нет ты
#445 #560999
>>560994
Ох как у тебя от темы неуверенности в себе бомбит-то, видать в точечку попал, иди забейся под диван питушек, там такого обсыкана никто не увидит и не заругает
#447 #561007
>>560966
Алсо, в трёхсот строках кода разбираться никто не будет. Поудаля всё ненужной, но чтобы проблема оставалась, и присылай код ещё раз.
#448 #561014
>>560999
Ну как бы я вообще про это ничего не говорил, это ты зачем-то начал рассказывать охуительные истории про опущеность и неуверенность. Ты там чем упоролся? Иди проспись наркоман.

>>561007
Зачем обязательно в трёхсот, я же указал с какой по какую строку проблема.
#449 #561015
>>561007
На SO пацаны разберутся и ещё попросят
#450 #561020
>>561005
Лол
#451 #561021
Всего второй день изучаю язык, а уже знаю его лучше чем 64% треда
#452 #561022
>>561021
>>561021

> лучше чем 64% питушков из треда


фикс
#453 #561024
>>560862
Сотни книг же в шапке. Там из годноты разве что https://github.com/getify/You-Dont-Know-JS стоит добавить, а вообще этой ссылки достаточно http://www.jstherightway.org/

Фленаган это действительно просто руководство, как и лёрнжс, научиться по ним невозможно имхо.

Я бы рекомендовал просто почитать немного про основы, написать проект-другой, почитать про паттерны и good parts (у крокфорда кстати лекции на youtube есть, можно и вовсе не читать а смотреть), еще покодить, почитать про es6 и современный обвес, на нем пописать, а потом уже браться за хардкорную теорию типа youdontknowjs, это ровно о проникновении в суть, но без предварительной практики она просто мимо пройдет или покажется скучной. Ну и почти все годные книги на ангельском, подразумевается, что это не проблема.
#454 #561028
>>561014

>Зачем обязательно в трёхсот, я же указал с какой по какую строку проблема.


Ну и чего я тебе должен на той строке увидеть? У тебя всё через жопу какую-то, традцать строк с изменением стиля — цсс с классами для этого придумали.

Твоя функция quez, в котороый ты говоришь что-то не обрабатывается, вообще к вызывется при клике на картиночки с музыкальными альбомами и к эвенту на DOMContentLoaded не имеет никаокго отношения.

Ну и это, без хтмла я нормально "запустить" твой код не могу, так что либо тащи нормальный, работающий вариант с ошибкой (http://stackoverflow.com/help/mcve), либо сам разбирайся.

А ещё соберитесь вместе с >>560624 и научитель нормально форматировать код.

Я рад помочь, но ты сам нихуя не хочешь для этого сделать.
#455 #561033
>>561028

>научитель нормально форматировать код


А есть какие-то рекомендации по этому поводу тип как ЕСКД в черчении
#456 #561039
Как сделать колбек для функции, к которой нет доступа?
#457 #561040
>>561033
Есть одна: посторонние читатели должны сразу понять, что куда где и откуда там происходит, и какие строки к какой функции относятся, а не делать отсутпы тела цикла такими же, как и у начала цикла, при этом цикл внутри функции внутри функции, и всё это на одном и том же уровне.

>>561014
Заодно прочитай как setTimeout таботает, у тебя там та же ошибка, что и в создании эвентлистенере.
#458 #561044
>>561033
Вот глянь у него на строки 167-192, это же просто пиздец ёбаный, слов не наберёшься, насколько это нужно быть кретином, чтобы, во-первых, такое написать, а во-вторых, не заметить, что тут что-то не так!
#459 #561045
>>561039
Вызывай функцию откуда будет высран колбек из места где к колбеку есть доступ, передавай его как аргумент например
#460 #561046
>>561045
Не понял, можно пример?
#461 #561052
>>561046

function foo(x, callback) {...; callback(x+5)}
...
{
foo(10, zalupa_function);

function zalupa_function(result) {result равен 15}
}

Можно завернуть анонимно типа foo(arg, function(result) {});
#462 #561060
>>561028
Просто я не совсем понимаю что нужно дать.

http://pastebin.com/jhFBcQPT
Вот укоротил может проще будет

http://codepen.io/anon/pen/YyEvjN
С ХТМЛ, в общем когда нажимаю на фото крестик для закрытия не всегда появляеться.
#463 #561084
>>560974

>Можно настроить Notepad++ на несколько пробелов на за одно нажатие?


Гуглить не пробовал? http://stackoverflow.com/questions/8197812/how-does-one-configure-notepad-to-use-spaces-instead-of-tabs
#464 #561085
>>561024
Ну вот и посоветуй мне годной литературы на твой взгляд.
#465 #561087
>>561060
Крестик (точнее, весь элемент <a> с id "hyper") удаляется у тебя в this.ew, которая вызывается при эвенте "onMouseOver" на любой из альбомов. Могу предположить, что из-за каких-то лагов этот эвент где-то заблуждается, и срабатвает уже после появления крестика. Проверить это, к сожалению, не могу — всего два раза добился, чтобы крестик не показался, до вставки принтов в эту функцию.

Совет 1: Убрать это непонятное удаление <a> из this.ew, так как сам крестик по клику на него-таки убирается.
Совет2: Отрезать руки тому, кто изначально это писал и "продумывал". (Потому что это, как я понимаю, что-то со фриланса, а не твоё).
#466 #561090
>>561060
А ещё с таймерами там жопа: если очень бытсро включить выключить (выбирая картинку в верхнем правом углу), то таймер не остановится (он должен через 100мс) и начнёт ругаться на отстутсвующие элементы (ведь они уже удалены при нажатии на крестик).

Ну и укоротил ты код пиздец просто: взял и удалил всё нахуй, не оставив даже декларации этого genia, который там е и вызываешь. Укороченный код должен работать*.
#467 #561123
>>556087
в css присвоить div-у display:none
и показывать при выполнения условий никак?
#468 #561127
>>561123
Он про это и говорит, даунидзе.
#469 #561193
>>561052
Спасибо!
#470 #561199
>>561087

>Убрать это непонятное удаление <a> из this.ew, так как сам крестик по клику на него-таки убирается.



Окей спасибо.

>Отрезать руки тому, кто изначально это писал и "продумывал". (Потому что это, как я понимаю, что-то со фриланса, а не твоё).



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

>>561090
Установку принял.
#471 #561201
>>561199

>Этот шедевр изначально написан и продуман мною хех.


Тогда всё очень плохо. Называй переменные и функции по-человечески, потому что в этом аду "ad", "qw", "le", "quez", "ew" и прочего непонятного говна разбираться удовольствия никакого.

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


Так и начал бы с чего-то более простого.
#472 #561365
Книги по ноде из шапки актуальны? Или для начала не принципиально для какой версии они написаны?
Туториалы вменяемые есть? В гугле ехал сео через сео и подайте 10$ джону смиту, создателю туториала по ноде. В середине текста, блядь.
#473 #561476
>>561365
Хуй знает, я вот как-то скачал одну из них а там первым же примером хуяк хуяк и приложение-чат на сокетах со всей хуйней, после чего автор долго размышляет об асинхронности, 50 страниц расписывает про какую-то никому не нужную либу, про мидлваре, далее об экспрессе, короче я рот ебал такое читать
#474 #561531
Сап, мамины программисты, есть задачка: дано число, удалить из него предпоследнюю по величине цифру. Ваши предложения?
#475 #561534
>>561531
Предлагаю не заниматься хуетой
#476 #561536
>>561531
В строку, по символам, сортировать, найти индекс предпоследней буквы в оригинальной "строке", убрать, перевести в изначальный тип.

Вот на питоне, что б жизнь мёдом не казалась - http://ideone.com/KVsq1U
(Случай с интом 0 < x < 10 уже сам доделай.)
#477 #561538
>>561476

>50 страниц расписывает про какую-то никому не нужную либу


Async? Хуясе ненужная, как ты без неё что то крупнее визитки сделаешь?

>про мидлваре, далее об экспрессе


Это же основы блядь, без этого нормально работать нельзя. Или ты хочешь как рельсодауны, хз как всё работает, кругом МАГИЯ?
#478 #561544
>>561538
Нет, не асюнк
Основы уровня следуй 100 страниц за моими примерами а потом узнай что это всё ебонь и можно было сделать то же самое в три строки, нахуя всё это так долго расписывать, в рот ебал ваши книги в >2015
#479 #561549
>>561536

>на питоне, что б жизнь мёдом не казалась


Чот проиграл.
>>561538

>Или ты хочешь как рельсодауны, хз как всё работает, кругом МАГИЯ?


А на голой ноде кто-нибудь что-нибудь пишет, или все ябутся в экспресс, смазывая ангуляром?
#480 #561561
>>561549
Пишу всякие скрипики - боты, читы через винапи, нлп, и прочее.
Не только сервера. Конечно, тоже ставлю готовые либы для всего по максимуму.
#481 #561575
Ребяты, поделитесь знаниями, - что обычно спрашивают на собеседовании на ангуляр разработчика?
Может какие каверзные вопросы там или еще чего
#482 #561581
>>561575
КАКУЮ ФОРМУ ВЫ БЫ ПРИДАЛИ ЛЮКАМ И ПОЧЕМУ?
#483 #561584
>>561575

>Ребяты, поделитесь знаниями, - что обычно спрашивают на собеседовании на ангуляр разработчика?


Профиль на гитхабе. Как нету, а английский знаете? Ну хотя бы на уровне чтения технической литературы? Нет? МЫ ВАМ ПЕРЕЗВОНИМ
#484 #561606
>>561581
НАРИСУЙТЕ НЕСУЩЕСТВУЮЩЕЕ ЖИВОТНОЕ
#485 #561636
>>561575
Курица или яйцо?
#486 #561642
>>561606
Любая тян же,не?
#487 #561650
>>561021
толсто
#488 #561662
>>561642
Хороший вариант, но советую в таких случаях рисовать существо из шестеренок и плоти. Этакого гибрида-киборга.
Это у них считается что-то типа вершины творческого ума.
#489 #561745
Первый раз итт, подобный вопрос наверное задают очень часто: не пойму до конца логику беспрерывной движущейся ленты с логотипами, сперва клонировать и вставить блок картинок в конец родительской ленты, потом, margin-left или left сдвигать блок, когда дойдет до конца первого блока картинок - append его в конец. Так вот вопрос - чтобы это работало, надо размер ленты постоянно увеличивать соразмерно сдвигу, чтобы видимая часть была больше чем сдвижка? Если да, то мне кажется это не очень рационально, ведь минут 20 афк, и будет сдвижка и размер блока будет четырёхзначным числом как минимум. Есть ли правильный алгоритм?
#490 #561792
>>561745

>подобный вопрос наверное задают очень часто


Нет. А вот так что нихуя не понятно спрашивают часто, да. Запили демку на планкере или дай ссылку на код который тебе не понятен.
Еще можно поробовать выучить цсс прежде чем задавать вопросы по нему.
#491 #561802
>>561792
http://jsfiddle.net/bfgwkeny/
Вот такая хуета, только я тут костыль сделал со сбросом margin-left в 0, плюс она тут движется периодически, в той ленте которую я хочу получить на выходе, движется с одинаковой скоростью.
#492 #561803
>>561792
>>561802
плюс тут видимая лишь одна фотка, в идеале будет видимо 3+, из ~10-20, за счет движения будут показываться все.
#493 #561826
>>561802
В разметке хуита какая-то. Нужно джва элемента - внешний с заданной шириной, overflow:hidden и position:relative, и внутренний с position:absolute. У внутреннего по таймеру меняется left. Всё.
#494 #561866
вопрос на миллион - в чем писать это дерьмо?
мимоначинающий
#495 #561879
>>561866
В анусе себе напиши
#496 #561929
>>561866
DOM, CSS, Browser API - это не отсюда.

Здесь благородные геи, а тебе к пидорам.
#497 #561931
>>561606
А если я рисовать не умею от слова совсем?
#498 #561934
>>561931
То тебе будет гораздо проще - ты не можешь нарисовать ничего существущего, а значит что бы ты ни нарисовал - это будет несуществующим. Собеседование пройдено!
#499 #561972
>>561606
Неужели реально эту хуиту используют при собеседовании, это же говно беспруфное, более близкое к шизотерике чем к науке.
#500 #561977
>>561662
Обратить внимание на случаи вмонтирования механических частей в тело “животного” – постановка животного на постамент, тракторные или танковые гусеницы, треножник; прикрепление к голове пропеллера, винта; вмонтирование в глаз электролампы, в тело и конечности животного – рукояток, клавиш и антенн. Это наблюдается чаще у больных шизофренией и глубоких шизоидов.
Творческие возможности выражены обычно количеством сочетающихся в фигуре элементов: банальность, отсутствие творческого начала принимают форму “готового”, существующего животного (люди, лошади, собаки, свиньи, рыбы), к которому лишь приделывается “готовая” существующая деталь, чтобы нарисованное животное стало несуществующим – кошка с крыльями, рыба с перьями, собака с ластами и т.п. Оригинальность выражается в форме построения фигуры из элементов, а не целых заготовок.
#501 #562020
>>555677
не всё
#502 #562021
>>555677
это официально подтвержденный баг языка
#503 #562025
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript

>(function (){})();



Объясните пожалуйста, что за хуйня тут происходит?
#504 #562036
>>562025
Это же объявление анонимной функции, которая тут же и вызывается.
Стыдно такое не знать
#505 #562040
>>559845
Доступ к полям, мурлок.
#506 #562080
>>562040
Ебать, у тебя поля не приватные что ль?
#507 #562083
>>562036
А назначение какое? Только защита внешнего неймспейса от засирания или перезаписи?
#508 #562095
>>562080
Какая разница? какой модификатор доступа, блядь, у поля, когда ты к нему обращаешься через this?
#509 #562101
>>562095
Да, ты прав, сука. Прошу прощение.
#510 #562128
Ковыряю сейчас асинхронный код на ноде. Максимальный уровень вложенности - 11 блоков. А какой у вас рекорд?
#511 #562145
>>562128

>Максимальный уровень вложенности - 11 блоков


Это хорошо или плохо?
#512 #562157
>>562145
Это типично.
#513 #562223
>>559848
Это толстота такая?
#514 #562228
>>562223
Нет, ему просто 56.
#515 #562230
>>562128
74
Демон для банковской системы
#516 #562231
>>562228
Скорее 16.
#517 #562279
>>562223
это реалии жизни
#518 #562302
>>562279
Статистика любой биржи работы для программистов с тобой не согласна.
#519 #562308
#521 #562313
>>562312
Поссал на свынью
#522 #562318
>>562313
Даже тут хохлосрач.
#523 #562319
>>562313
видимо в рашке одни дауны раз на делфи быдлокодят
#524 #562333
>>562312
Делфи сдохла, я про живые языки.
#525 #562394
>>562083
Обертка, которая не дает сделать из кода на странице оливье
#526 #562867
Посоны, мы тут с посонами в /б пришли к выводу что JS - не настоящий язык программирования а лишь часть хтмл, вам хоть немножко стыдно что вы тут хуйней занимаетесь?
JSTML #527 #562934
#528 #562961
>>562867
Ну так вали к посонам в /b.
#529 #562983
Поясните про meteor.js, react.js, coffeescript, jade, stylus.
Верное ли направление я выбрал для развития? Сам только начал осваивать js.
#530 #562998
>>562983
Jade - щаблонизатор, ты фронтендер или как? CoffeeScript в начале не надо. Успеешь еще.
#531 #563006
>>562998

> CoffeeScript в начале не надо.


Почему это? Если в моё время, когда я только начинал учить жс было бы что-то подобное - я бы был пиздец как рад.
#532 #563308
>>563006
Лучше на ес6 писать сейчас, будет более универсально. Чтобы на кофе писать не говно надо понимать как жс работает и в какой жс это кофе компилится.
#533 #563348
>>562998
но он такой няшный, что я не могу удержаться и некоторые проекты (чистый фронтэнд) на нем пишу (где много психоделической верстки), собрать из шаблончиков js-функции для вьюшек несложно.

>>562983

>Верное ли направление


а направление куда? финальная цель какая? так-то все штуки полезные.

>>563308

>Лучше на ес6 писать сейчас


удваиваю. кофе сейчас имеет смысл только если уже не можешь без него.
#534 #563350
>>562867
первый месяц было стыдно а потом я прозрел и больше не могу без js. осторожней с этой хуйней, бро. беги из этого треда пока не поздно.
#535 #563929
Правильно ли я понимаю, что Node.js - это, утрированно говоря, такой способ писать JS-код для его выполнения на сервере? Или всё не так просто?
Вот с PHP/Laravel|Symfony|Yii, Python/Django, Ruby/Rails мне всё понятно: вот тебе методология, вот тебе синтаксис, вот тебе практики, вот тебе фрэймворк, - хуярь.
#536 #563959
>>563929
Ну да, ты поднимаешь сервер. Не надо всякие пыхи учить.
#537 #563964
>>563959
Ну, то есть JS-код работает в бэкэнде, так? В этом суть Node.js?
#538 #563998
>>563964
да, и хпх не нужен
#539 #564022
>>563929

>Node.js - это, утрированно говоря, такой способ писать JS-код для его выполнения на сервере?


Разве это не просто-напросто интерпретатор ЖСа? А уж сервер у тебя там или нет — дело десятое.
113 Кб, 225x296
#540 #564136
#541 #564228
>>564022
Жс - это именно сервер. С интерпретатором.
#542 #566039
Что скажете о react, эксперты?
#543 #567705
>>566039
Норм
#544 #570510
>>559921
терь всё ясно, спс
Тред утонул или удален.
Это копия, сохраненная 11 ноября 2015 года.

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

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