Это копия, сохраненная 28 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.
Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.
2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi, Unity), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).
3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.
4. Существуют ли стайл-гайды для JavaScript? - Да. Стайл-гайд для Node.js: https://github.com/felixge/node-style-guide , стайл-гайд для Front-end: http://www.w3schools.com/js/js_conventions.asp
5. Какие новые возможности добавил ES6? - Вот здесь можно почитать на русском: https://learn.javascript.ru/es-modern
6. Зачем нужны CoffeeScript и TypeScript? - Это особые варанты JS для любителей других языков. CoffeeScript подходит для любителей Ruby и Python, TypeScript - для сторонников строготипизированных языков. Если ты новичок, то учи оригинал и не забивай себе голову этим.
7. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Дуглас Крокфорд "JavaScript: сильные стороны"
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
Node.js
М. Кантелон , М. Хартер - "Node.js в действии"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Дэвид Хэррон - Node.js. Разработка серверных веб-приложений
Front-end
Эдди Османи - "Разработка Backbone.js приложений"
Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"
Читать онлайн
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/
DISCOVER METEOR - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков.
Полностью на русском: http://ru.discovermeteor.com/
И не забываем читать официальную документацию для каждого фреймворка.
Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.
http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.
http://nodeguide.ru - Огромное количество переведённых статей по Node.js
http://node-center.ru - собрание информации по Node.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/
СПИСОК ИНСТРУМЕНТОВ ДЛЯ РАЗЛИЧНЫХ ЦЕЛЕЙ
Front-end: jQuery, Angular, React, Backbone, Meteor.
Back-end: Node.js, Express, Socket.io, Sails (Включает Express и Socket.io + архитектура)
Десктопные приложения: NW.js, WinJS.
Мобильные приложения: Cordova, NativeScript, Phonegap, Ionic.
GameDev: Phaser, Cocos, Pixi, Unity.
Тестирование: Mocha, Chai, Jasmin, Sinon.
Continuous Integration: Semaphore, Shippable.
Шапка: https://docs.google.com/document/d/1x7fY7CIy9o6lrkYA1Y5iQuJWLJdEbtK7z3TjIZBskkg/edit?usp=sharing
Посоны, вот я закатился на codewars когда захотелось проверить могу ли я вообще что-то. В принципе пока получается. Но у меня бугурт от топовых решений: часто, конечно, они просто на порядок умнее и красивее моих, но нередко в топах решение выведено в одну строку так, что хуй прочитаешь, как мне кажется.
Это так и надо изъебисто всё в строку уложить, тип короче == лучше, или в реальности так никто не делает, а на кодварсе просто писюнами меряются?
http://javascript.ru/forum/showthread.php?p=389342
>ie11 и в ie7 выдает ошибку : "JSON" не определено
>в общем все решилось подключением json-js в ie.
Что за json-js?
Я бы в лучше Ангулар заменил Реактом. За Метеор ничего не скажу, не пробовал.
Второе. Ты можешь рисовать комиксы за бешеные деньги для какой-нибудь параше, но это не означает, что тебе нельзя качать скилл и участвовать в соревнованиях на йоба реализм маслом по холсту.
Сорт оф.
Предлагаю добавить для совсем новичков кто хочет во фронтенд, чтобы шли в тред верстки и там изучали основы, а потом снова перекатывались сюда. Да и вообще вопросы подобные (типа про html/css, css-препроцессоры, таскраннеры, бутстрапы, всякая такая лабуда) лучше сразу там задавать.
С чем связано предложение?
Было в прошлых тредах из того, что на памяти про бутстрап, про css-препроцессоры и про совсем базовые скрипты.
Суп, анон.
Скажи, каким образом лучше подойти к обучению? Пока смотрю лекции Кантора, делаю задания, которые он там дает, но как-то все это скучновато, и при том я не знаю, по правильному ли иду направлению. В универе было проще - там препод дает программу занятий и ты идешь по ней. Когда что-то изучаешь самостоятельно, находишься в постоянной неуверенности, будто идешь по лесу без компаса и карты - нет понятия о том, в каком направлении ты двигаешься, нужно ли тебе повернуть, или вообще пойти обратно.
Вот так я себя примерно чувствую. Плаваю, не зная направления. Может, кто проходил то же самое, дайте совет какой-нибудь.
Лучше дать ссылку на htmlacademy. Первый курс (который не расширенный) проходится за несколько дней и охуенно снимает 95% вопросов.
Всем спасибо, сам загуглил
Двачую это. В верстке по сути надо лишь понимание, остальное это уже тупое дрочилово с открытым caniuse, гуглом и примером.
>>673615
Ну. У Кантора ты получишь базовые знания, без каких-либо особых подробностей и тонкостей это тебе к Флэнегану, YDKJS, Exploring ES6, но сможешь понять как работает язык в целом и его взаимодействие с DOM.
Дальше берешь какой-нибудь урок с ютуба-рутрекера, где делают какой-либо проект, вернее его костях, типа базового блога на MEAN стаке. Пилишь этот базовый костяк, прикручиваешь к нему всякие таскраннеры, хуянеры, учишься работать с инструментами заодно и документацией.
Дальше просто приводишь этот проект в хорошее состояние, чтобы был не хуже твоего любимого бложика. Ну и с другими проектами тоже так.
Как показывает опыт знакомых трейни, это самый простой вариант. Базовое понимание + практика, а потом уже можно читать про шаблоны, рефакторинг, тонкости es и лезть переписывать всё это говно.
Добра тебе.
Там вообще не то. Здесь вопросы программированию, а там обсуждают как заебашить побольше рекламы на страницу чтобы её AdBlock не резал.
Зависит от компании. Где то фронт-эндер и дизайнер разделены, а где то ты будешь хуярить дизайн, фронт, бэк, кофе начальнику и много другого.
Кстати ОП прошлого треда молодец, привел в порядок разметку.
Не понял о чем ты, но запись типа
div.option1 = это присваивание свойству option1 дом объекта определенного значения.
Не атрибуты, а вот взять див как объект и напихать в него свойства.
>>673717
Об этом и говорю, но почему это не катит в IE8? Он не поддерживает такую запись?
Там вообще в разделе какие то долбаёбы сидят. Такой то манямирок.
Всегда подключают в конце body. Ещё можно использовать в теге атрибуты, которые я описал в картинке.
Думаю что неплохо было бы глянуть что там щас по книжной полке. Все ли актуально, возможно добавить каких-то книжек поновее, убрать старье и т.д.
Плюс тут все топят за использование фреймворков, читай ангуляра с реактом. Минимум треть треда - их обсуждение, следовательно, не лишним будет в шапку добавить лучшие обучалки/видеокурсы/книги/пояснения/еще какое-то полезное дерьмо, конкретно по ним. Чтобы ньюфаги сходу могли в getting started.
Двачую. Сам типа ньюфажик (верстать умею) курю пока Кантора и интенсив по js от академии.
Мне бы Getting started пригодились (но не в ближайшие пару месяцев точно лол)
Сам кстати некоторые материалы добавлял когда видел в закладки - завтра пороюсь, может че найду полезного тогда сюда кину - посмотрите, может чет и в шапку добавите
Реакт и Ангулар лучше всего учить по офф документации, она там хорошая. Ссылки на документацию приложить что ли?
(function() {
var amount = 6;
var duration = 70; //ms
var overwriting = function(evt) {
if (evt.keyCode === 81) { // KEY_Q
for (var i = 0; i < amount; ++i) {
setTimeout(function() {
window.onkeydown({keyCode: 32}); // KEY_space
window.onkeyup({keyCode: 32});
}, i * duration);
}
}
};
window.addEventListener('keydown', overwriting);
})();
игра браузерная, кстати
http://pastebin.com/Ap62HKkC
Не слишком говнокод? Асло лэи всякие это из приложения droid script, я просто для андроида это пишу, на теориях вероятностей халтурить.
функции названы в честь животных лишь потому, что я не знал как их обозвать и чтобы коротко было
Нормальный код. Хороший.
бамп вопросу.
Читать не умеешь? Добавь "noprotect" в начале кода. Нужно только для jsbin это их защита от бесконечных циклов
алгоритм правильный и код считает. Но эта ебучая кнопка просто не нажимается, не включает функцию.
ПРОСТО ОМГ. Что такое, поясните. Страницу обновлял минут пять назад и, знаете, код теперь работает.
Код сам собой заработал через 5 минут. ЗБС.
Слушай, я html еще не начинал учить. Мне просто интересно, куда JS код писать, что бы как у тебя кнопка функцию из кода вызывала?
>>673933
Хорошо, поясняю.
Есть SCRIPT в HEAD - там ты пишешь функцию, даешь ей название и проч.
Есть TYPE=BUTTON ONCLICK = "YourFunct()" - которая и направляет выполнять эту функцию.
Какой смысл в Mongo?
В некоторых случаях она бывает удобней традиционных SQL баз. Но таких случаев один из пятнадцати.
бамп
var divs = document.querySelectorAll("div");
for (i = 0; i < divs.length; i++) {
divs.onclick = function() {
(что-то происходит с дивом)
}
}
Мне такое решение кажется уебищным. Можно ли это сделать по уму?
А блять, не всталяются квадратные скобки. Короче i-тый элемент массива div там.
Array.prototype.forEach()
Таким образом можно конструировать функцию, код которой неизвестен на момент написания программы, но строка с ним генерируется или подгружается динамически во время её выполнения.
Пример использования – динамическая компиляция шаблонов на JavaScript
Элементарно жи.
Из учебника Кантора
https://learn.javascript.ru/function-declaration-expression#new-function
третий день учу js
Оцени говнокод. И как оптимизировать кусок на пике? Что-то мне подсказывает, что можно по уму сделать. Покажи куда гуглить.
Например вот так.
К сожалению щас нет времени отключать левые функции и чистить и бетонировать код, но суть, думаю, ты поймешь.
https://jsfiddle.net/kha1zLfk/1/
Примерно понял, буду догугливать использованные тобой приемы. Спасибо!
>>674128
А почему бы не сделать массив
["Zero", "One", ...] и не пройтись потом в лупе по нему, чтобы не было десяти идентичных строк?
Такой вариант я примерно обдумывал, но я пока еще не знаю, что такое loop, надо тоже искать инфу.
Просто я только вчера узнал про addEventListener и всего два дня работаю с DOM, поэтому не все ясно. До этого просто пилил функции для задачек на алгоритмы на чистом js (по книге А. Шеня).
https://jsfiddle.net/kha1zLfk/3/ - я бы сделал так, чтобы хранить данные отдельно от DOM. В этом случае это не имеет значения, но как тенденция это ок.
Спасибо за вариант. Здорово, что накидали примеров с новыми для меня функциями. Будет над чем поразмыслить вечером.
Можешь допилить функцию чуть переделав проверку значения, мне было лень. Например, запилить проверку по дата атрибутам вместо textContent. Будет защита от дурака.
Ты прав, не обратил внимание. Просто на работе (сисадминство) сейчас, пока нет возможности вдумчиво разобраться с примерами. Вечером вместе с Флэнаганом буду разбираться.
loop переводится как цикл,лел
Тебе нужно разобраться с dom event flow. Идея в том, что не нужно навешивать 20 слушателей на каждую кнопку. Достаточно одного на весь калькулятор. Для этого его лучше обернуть в отдельный div. А из объекта event ты достанешь всё что тебе нужно. Можешь вывести его в консоль и поизучать.
addEventListener((event) => { console.log(event) }
>Достаточно одного на весь калькулятор
Вот тут я с тобой не согласен, дружище. Делать одну большую функцию стоит только тогда, когда это необходимо, а необходимо это, если:
1. Тебе требуется перерендеривать содержимое и соотв. пересоздавать слушателей.
2. При этом количество элементов больше хотя бы сотни.
И в таком случае стоит дополнительно подумать на счет инкапсуляции, чтобы потом делать switch по вариантам и вызывать конкретные функции.
Таких случаев не так и много, на самом-то деле, обычно требуется забиндить десяток слушателей на статичный контент.
Я знаю что кто-то из вас пишет на реакте с тайпскриптом, в какой ide пишете?
>>674183
Sublime лучше. На работе юзаю Atom, а дома Sublime. Подсветка вкуснее, функций больше, а еще Atom начинает глючить, если строка в файле больше какого-то кол-ва символов (не подсвечивает литералы).
Так же, как ты устанавливаешь другие программы на свой линукс.
Чем оно тебе кажется уебищным?
Можешь, как тебе уже посоветовали вользоваться forEach.
Алсо, в твоем решении ты забыл объявить переменную i
Почти для того же, для чего eval
Через онклик зато больше одного не навесишь.
Саблайм не перегружен.
Вопрос в другом - как её не на линукс устанавливать? А там просто - из репов или исходников собрать.
>>486212
Да, появилась эта проблема. Враппер с минимальной шириной?
Куда шустрее атома.
Напомните, как с этим бороться, а то лень сейчас рыться в интенсиве, птываясь найти про это.
А саблайм говно без задач, где нужно с каждой мелочью пердолится и который нормально не настроить
Бзp ховера поставь transparent на границу. По ховеру выставляй ей цвет.
http://codepen.io/Okhre/pen/yONQza Сам код
Сори, не в тот тред.
Смотря какое тебе нужно плавненько.
fadeIn\fadeOut или передвигать их.
И есть способы использвать css-transition\animation
Есть js\jquery\gsap\etc
Чему обучает кодеакадеми, если дойдя до заданий со взаимодействием с пользователем, ты до сих пор не разбираешься в том, что такое переменные?
спасибо.
>>674424
я только недавно начал вообще пратикой заниматься, так что не все сразу понимаю с первого раза. Ты словно прям начал с первой минуты показывать профессиональные навыки в джс.
Если уж совсем нельзя, то как мне коротко сделать так чтобы сначала выполнился первый иф, а второй при первом запуске не выполнялся?
Понятно, что можно дописать дополнительную переменную и в первом ифе изменить ее с 0 до 1 и поставить это в условия ифов, но хотелось бы покороче.
Ты что собрался останавливать этим брейком? Брейк только в foreach.
Это вовсе не профессиональные навыки.
Это азы. Это нелогично совершенно, не поняв принципа основы - заниматься составлением каких-то алгоритмов. Ты так и будешь топтаться на месте.
>как мне коротко сделать так чтобы сначала выполнился первый иф, а второй при первом запуске не выполнялся?
Может быть будешь испоьзовать else или elif?
>>674459
Понял. Тогда придется чуть удлинить код.
Мне нужно было чтобы не запускалось при одном запуске сразу два однотипных действия и при выполнении действий первого ифа действия второго не выполнялись. А при следующих запусках только второй иф выполнялся.
>>674462
Думал об этом, но в моем случае при двух условиях не получится. Или я тупой и не вижу.
Чтобы прервать функцию в любом ее месте, используй return
А как ты там будешь детектить который у тебя по счету запуск, это уже сам придумывай.
просто вместо второго ифа else
Благодарю анон, призабыл про реутрн.
А как детектить запуск это я уже придумал, там переменная openPortals в начале равна 0, а потом увеличивается и уже первый иф не будет выполняться.
Блять. Нахуй ты ебешься в кодакадемии, если в английский не можешь, сука? Найди книжку с единорогом, "Подробное руководство", и ебись с ней. if(условие){код}elseif(условие){код} Сука, принципы, как два плюс два.
jquery сойдет
Первое. Нельзя повесить несколько действий через обычный онклик, такие дела.
Есть нг-репит, который отрисовывает блоки и отображает соотвественно инфу из апи в них. Мне нужно, чтобы нг-репит положил значение полей(тайтл, текст) в инпут и текстареа соответственно. Пока все ок, но дальше..
А дальше мне нужно нажав на кнопку редактирования этого блока сделать так, чтобы пользователь мог отредактирвать эти инпут и текстареа и отправить. Вот собственно я не могу придумать как сделать так, если ВАЛУЕ и НГ-МОДЕЛ юзать на одном инпуте, то получается херня, помимо всего прочего из-за того, что нг-репит все отрисовано, то скооповские переменные для редактирования полей естественно тут же через бинд изменяют значения остальных блоков. В общем, джва дня бьюсь не могу придумать как это побороть. Подскажи, анон!
Буду его пиздить в ответ?
Я просто продемонстрировал, что вполне себе можно и через онклик навесить очередь слушателей и вертеть ею потом как угодно.
Без обид, но ты продемонстрировал говнокод. Можно ещё всюду == использовать и другие веселые штуки, чтобы потом все охуевали от того как ты можешь.
Но зачем?
Ты не понял.
Тут >>674506 ты, или не ты, написал, что НЕЛЬЗЯ. Я лишь показал, что можно.
Я прекрасно знаю, что незачем.
Алсо, относительно == всему свое место.
Ноуп, ты не показал что можно, ты просто засунул кучу кода в одно действие и типа "смотрите как я могу". С таким успехом можно и в 5 абстракций захуячить код и сказать что можно 5 действий в которых ещё 25, без форов и прочего говна даже, просто запихнув всё это в одно.
И это кстати будет даже читабельнее. Впрочем, мне лень тебе что-то доказывать, но это очень хуевый пример.
А у addEventListener под капотом по твоему ни то же самое?
Когда есть необходимость в связи один-ко-многим или многие-ко-многим. В остальных случаях и нереляционная удовлетворит большинство потребностей.
> просто запихнув всё это в одно.
И обосрешься, когда надо будет переделать очередь или динамически добавить в нее еще действий.
> Об этом и говорю, но почему это не катит в IE8? Он не поддерживает такую запись?
Он разве что-то вообще поддерживает? Зачем ты некрофилишь?
> Когда есть необходимость в связи один-ко-многим или многие-ко-многим.
Ты хоть юзал нереляционную бд?
Тернарные условия тоже короче развернутых, это не значит, что использовать их вернее.
Один раз настраиваешь и все.
Вообще, по-хорошему, ты молодец. Такой образ мышления хорош. И я думаю, что ты не стал бы применять это в продакшене. Все-таки эта особенность онклик (перезапись функции, а не дополнительный каллбак) имеет контекст применения.
В случае, если очередь вынесена в отдельный массив, да.
А в случае как предложил он, запихать ее всю в тело функции, это уже сложнее.
Мне, кстати, нравится структура данных, которую предложил анон здесь: >>674528
Не знаю, че все так говорят, что это говнокод, на самом деле удобно и в любом случае приходится делать что-то подобное, чтобы хранить колбэки в одной структуре, назвать stack как-нибудь типа buttonNameCallbacks и все.
Ну, по факту, когда понадобиться в контексте того же addEventListener реализовать неймспейсы у слушателей, то все сведется к подобному.
В том-то и дело, а еще у onclick нет проблемы с IE ранних версий (не знаю даже, хорошо это или плохо, лол).
Да и ie < 10 уже давно не нужно.
Двачую этого гетифая.
Таки есть div, на котором висит функция его перетаскивания (drag-n-drop).
Внутри лежит картинка на полный div, на нее повешена другая функция, которая по клику скрывает div.
Но сюрприз, при перетаскивании div'а вторая функция регистрирует клик и скрывает div.
Как пофиксить?
1. Подвесить на mouseup, завести переменную, которая становится true, если было перетаскивание.
Функцию скрытия на mouseup, переменную проверять в ней, ставить в true в фунции перетаскивания, ставить в false после проверки в функции скрытия.
Дай бог тебе здоровья
Ну ты логически подумай))))
Да. Порядок действий в голове у себя воспроизведи, чтобы понять принцип.
Спасибо, что за меня повыебывался.
Ебанутый считате, что выигрывает применяя forEach для обхода массива.
Пиздабол. Ничего ты не запостил.
это не я писал, этот анон скорее всего случайно ткнул на твой ответ.
>>674745
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols
Еще не поздно перековаться в кассиров.
Тупая блядина, теперь загугли что значит слово итерация.
Счетчик блядь ахахах пидораха ебаная
Какой подход вы рекомендуете использовать для прохода по массиву? Проход циклом или через forEach?
мимо-ньюфаг
Только (повторяю! только!) специальные методы для массивов, а ещё лучше методы из библиотек, типо лодаша или рамды.
ох лол, вот это ты клоун, главное ведь переспорить на анонимной борде, да?
>iterable protocol
это для определения способа итерации, не более, по твоей же ссылке это и написано, но ты такой тупой, что не можешь этого осознать и пытаешься подменивать понятия, игнорируя ссылку на вики там наверное врёти, да?. И да, использовать итераторы да-да для обхода массива, как и саму итерацию - уровень этой доски и твоего безработного существования.
Дай тупой пидорахе функциональную парадигму и функции высшего порядка, она всё равно говно жрать будет, ном-ном.
взлольнул, спасибо, подняли настроение
Если тебе нужно будет остановить цикл, то for подойдет. А так хоть map используй.
>>674777
Ты что клоун, ещё и семенишь тут? Мозг совсем высох? Да не волнуйся, ты бы и так не смог даже простейший жабаскрипт осилить, что говорить о более высоких языках.
Можно.
Только при использовании метода, ты создаешь функцию.
При использовании циклов, функцию не создаешь.
В любом случае, это индивидуально всё.
Туда индекс итерации прокидывается, короче иди читай блять доки к жсу, а не пиши здесь бесполезные комменты свои.
Расскажи, гуру, а while тоже итератор?
Чем
for (var i = 0; i < 10; i ++) {...}
отличается от
var i = 0; while (i < 10) {....; i++;}
Я просто только начал изучать js, хотелось бы понимать.
Вообще похуй на оверхэд. Главное, чтобы код читался, а даже тысяча замыканий никак не повлияет ни на что.
Пикрилейтед.
А по хорошему, массивы действительно лучше обходить forEach или встроенными методами, это намного читабельнее и даёт больше возможностей. В самых популярных гайдлайнах типа airbnb даже об этом написано. Иммутабельность и чистые функции - наше всё, посаны. Рикаминдую.
Итератор по определению, позволяет осуществлять навигацию по итерируемому объекту. Назад-вперед.
Расскажи, как ты в for..in вернешься к предыдущему элементу коллекции, например?
В цикле со счетчиком, еще понятно. Но суть в том, что это цикл. Шаг цикла называется итерацией, разумеется.
Но называть циклы Итераторами, это просто пушка.
Отписываться как?
Двачую умного парнягу.
Единственное, что скажу, лучше, если есть возможность, юзать не встроенные методы, а библиотечные, они быстрее и обладают более широким функционалом.
>Итератор по определению, позволяет осуществлять навигацию по итерируемому объекту. Назад-вперед.
Нет, не позволяет, не такого определения.
Ну нет, на ванилле неудобно создавать расширяемые компоненты. А с реактом удобно. И никаких уебищных директив.
>лучше обходить forEach или встроенными методами
> В самых популярных гайдлайнах
А for..of то ввели просто так, от балды.
https://ru.wikipedia.org/wiki/Итератор
Итератор (от англ. iterator ― перечислитель) — интерфейс, предоставляющий доступ к элементам коллекции (массива или контейнера) и навигацию по ним[1]. В различных системах итераторы могут иметь разные общепринятые названия. В терминах систем управления базами данных итераторы называются курсорами. В простейшем случае итератором в низкоуровневых языках является указатель.
А теперь почитай бенчмарки, тупое хуйло ебаное. Пидор, никуда тебя на работу не возьмут, т.к. ты пидорахен ссыкливый.
https://github.com/codemix/fast.js/
И где тут про вперед-назад? Обосрался опять? Ну ничего, вижу ты привыкший к этому действу.
>предоставляющий доступ к элементам коллекции (массива или контейнера) и навигацию по ним
>навигацию по ним
>>674810
>>674807
Посаны, поясняю, только сразу говорю, давайте без маневров.
В данном контексте кода от анона выше, это доступ через индексацию и цикл, но по сути эта реализация - итерация и по спеке, фор являет собою итератор, потому что for может работать как цикл, так и как полноценный итератор. Не следует применять процедурную терминологии к языку, который таковым не является.
Поэтому в ES for - 100% итератор, который может использоваться как цикл с доступом через индекс к массиву, а это довольно херовый подход в написании кода. И если память меня не подводит, текущие всякие V8 очень круто умеют работать с всякими .map, разворачивая их, поэтому многие разработчики и используют данный подход.
И где тут про вперед-назад? Обосрался уже в третий раз? Да ты же весь в говне, манька, обсыхай теперь
Вот реально ведь шарит чел, и объяснять умеет, в отличие от меня. Молодца!
Описание:
>Итератор похож на указатель своими основными операциями: он указывает на отдельный элемент коллекции объектов (предоставляет доступ к элементу) и содержит функции для перехода к другому элементу списка (следующему или предыдущему)
Ну и? Доступ к элементу есть, функция для перехода к следующему элементу есть — все как и требуется.
Что есть, то есть. Зато умный.
>содержит функции для перехода к другому элементу списка (следующему или предыдущему)
>это не значит, что он может туда-сюда ходить.
Ясно всё.
Утки, сэр. Привыкли к говну и теперь с трудом переходят на нормальный инструмент.
Не шарю в жаве. Но допустим ты не пиздишь.
Какие юзкейсы у такого итератора?
Означает ли это, что всё, что не может менять направление - не является итератором? Нет, не означает. Иди нахуй поэтому, лол
Ничего не понимаю в жабе, но скорее всего имеется ввиду итератор как поведенческий паттерн, а они да, могут куда угодно ходить, хоть к мамаше в гости. Если это задать в параметрах
Но, как? Как отрисовать елемент через нг-репит и контроллер? Дело в том, что код не мой, потому нг-репит уже по умолчанию, его я не могу обойти, то есть нужно на основе его сделать, то что я описал выше. Пробовал юзать нг-инит, в доках говорят, что долджно вызываться на каждой итерации репита, но или мой английский плох или он не вызывается и получается какая-то херня.
На всех более менее средне-больших проектах юзают какую-то утилити либо в любом случае. Да и загрузить 4кб не так сложно, даже для маленького проекта.
> тупое хуйло ебаное. Пидор, никуда тебя на работу не возьмут, т.к. ты пидорахен ссыкливый.
Господи, никогда не перестану умилятся тому, какой обиженный жизнью контингент тут сидит.
Если ты не считаешь себя конченным, то это значит, что ты только ещё больше конченный, чем мы.
В современной веб разработке 4кб ничего не решают, а решает количество запросов к серверу, а эту проблему решают таскраннеры на отличненько, поэтому можно и подцепить библиотеку.
Но посаны, обрабатывать всякие "тяжелые" массивы на стороне клиента - моветон. Хотя честно скажу, сомневаюсь что боттлнек будет именно в обходе массива, лол.
Никто про "тяжелые" (что бы ты не имел по этим в виду), не говорил. Даже для простого массива в 100 айтемов уже есть смысл не использовать встроенные методы. Не говоря уже о плюшках типо каррирования и композиции, доступных из коробки.
Я сейчас пишу либу для обработки изображений на canvas. И, как это не прискорбно, приходится проходиться циклами _.each по массиву с семизначным length. В эти моменты меня успокаивает только то что заказчик так захотел.
У нас Жаваскрипты хуярить, ПХП хуярит, Немного фотошопит картинки купленные во всяких фотостаках.
Я даже не знаю как у нас дизайнеры выглядят, и есть ли они вообще
Ты даун.
Алсо, твой код говно, видно что ты начинающая пидораха, но уже споришь с большими дядями, при этом не понимаю нихуя.
- используешь онклик
- используешь декаларацию нескольких переменных через один var
- используешь var
- используешь arguments
- не используешь лямбды
- ставишь точки с запятыми
- не ставишь скобки у if
В общем, соси хуй
>используешь декаларацию нескольких переменных через один var
>- используешь var
Поподробнее с этого момента. В чем ошибка? И что там по поводу аргументс?
Я вот точно начинающий, не слышал, что это все не стоит юзать. Особенно точки с запятыми.
Ты читаешь жопой и проебал суть начала дискуссии про onclick , поэтому идешь нахуй.
По остальным пунктам, ты снова идешь нахуй со своим манямирком в котором все фичи es6 поддерживаются везде, и трансляторами.
И прекрати уже проецировать, дурачек.
Это очень смешно выглядит.
Лол. Обычно ставлю всегда в IDE, тут в консольке нафигачил и скописпастил просто.
Нахуй идёшь только ты, пиши дальше на ес5, мразота поганая
>- ставишь точки с запятыми
>- не ставишь скобки у if
Сам-то понял что написал?
То есть первая твоя притензия выводится из перестраховки от многострочных условий, а вторая противоречит этой же самой перестраховке, при проебанном переносе строки.
Точка с запятой ставится на автомате, а ты сахарись дальше.
В однострочных условиях скобки не обязательны.
мимо-ньюфаг
Он не только про let так считает. Он для сравнения строки со строкой использует ===
А то мало ли, конечно.
>Хахах, let юзают, вот дауны. Это ещё хуже, чем var
Ну ты загнул, не хуже конечно, но на одном уровни убогости, это я согласен.
Они изуродовали let. Вместо того чтобы добавить только блочную область видимости, они запретили повторное определение, что приводит к тому, что невозможно отлаживать код, редактируя и вставляя в консоль: первый запуск проходит, последующие - нет. Поэтому let при отладке используется только там, где нужна блочная область видимости, а после завершения отладки все var заменяются на let.
То есть грубо говоря имеем какой-то text, который должен по ширине уместиться в воображаемый бокс, мы знаем тип шрифта (face) и задаём ширину этого бокса. Алгоритм ищет и выдаёт оптимальный font size.
На пике рабочий алгоритм. Коэффициенты сначала были 0.5 и 1.5 соответственно. Поиск осуществляется методом маятника. На пике старые коэффициенты.
Мне удалось сократить число шагов с помощью коэффициентов 0.9 и 1.3. До этого был дикий разброс. Причём я заметил, что сильно влияет стартовое значение size, поэтому возникло два вопроса
1. Что брать в качестве начального значения size? Возможно, стоит использовать какую-то хитрую пропорцию длина текста, умноженная на что-то делённое на ширину.
2. Какие коэффициенты можно ещё подобрать или алгоритмы, учитывая, что обычно текст нужно вписывать в пространства не больше 0.5 от ширины экрана.
Ты путаешь с const. Алсо, если у тебя let в коде встречается чаще, чем 1 раз на тысячу строк - то лучше иди работай в макдак.
Хах, бля, ты даже фразу закончить не смог, настолько у тебя подорвалось. Не смог в вебпаке разобраться штоле?
Уже почти год пишу на ес6 (хотя теперь уже месяцев 5 на тайпе), поражаюсь с дебилов, которые юзают ес5 до сих пор. Ладно там легаси какое-то может быть, но блядь восхвалять ес5 и плеваться от ес6 это надо быть мега мудаком.
Лол, недавно знакомый рассказывал про его охуительную работу. Коду лет 7, не меньше, используют ExtJS, недавно радость была, отказались от поддержки IE10- наканецта. Ах да, в коде помесь ES3 и 5.
Типикал аутсорс в СНГ.
Только конструкторы
Как циклы и форы с константами реализуешь?
const a = 1;
const b = 2;
while (a < b) const c = a + b;
То есть ты создаешь новый стейт каждый раз, провоцируя вызов garbage collector?
Проигрываю с даунов всерьёз отвечающих петросяну. Не знаю даже кто смешней из вас, но это аншлаг
По канонам его надо обоссать, т.к. читать это могут те, кто далек от дедлайнов.
В том-то и прикол, непонятно, что он хотел сказать своим "только константы".
Лол, кто-то точно говорил. Хотя, возможно я уже уснул, не успев закомитить час работы.
Либо используя функцию getState(), которая пробегает по DOM-дереву и смотрит, где чо. Или еще как-то анализирует ситуацию. Оверхед во все поля.
Девиз КОП - постоянство. Постоянство и ожидаемость.
const a, b = 2
A.push (a)
B.push (b)
A.push (A[A.length-1] + B[A.length-1])
Выше прочитай дискуссию. Циклы нормальный люди не юзают обычно. Но да, соглашусь, что это единственный(!!!) вариант, когда можно использовать лет. В каждом правиле бывают исключения. Но всё таки циклы не нужно использовать.
Всем остальным даже не буду персонально отвечать, раз вы ни разу не сталкивался с иммутабельностью и ФП, то для вас наверно будет шоком, что даже все объекты по сути создаются с нуля (не совсем с нуля, конечно, но размусоливать нету смысла, всё равно обосрёте). Пиши дальше своё говно ООП, пидоры
Кокой злой иммутант, наверное, любишь шоколадное печенье.
>размусоливать нету смысла, всё равно обосрёте
Ты даже не начинал что-то раскладывать, пришел, повыебывался, обиделся и съебал. Так держать, ребенок, больше не приходи.
Обычное программирование (нужно использовать лишнюю переменную для обмена c)
a = 1, b = 2
c = a
a = b
b = c
КОП
A.push (B[B.length-1])
B.push (A[A.length-2])
На функциональном диалекте пиши, вот чё. Переменных нет, есть только функции. И константы тоже считай функциями, которые возвращают константы.
Двачую, зачем циклы, лучше каждую итерацию отдельно написать и сортировку вручную на 1000 строк расписывать
Это не переменные, а глобальный объект
Через мамку твою.
Без аккумулятора надеюсь? Ну чтобы вылетела в оверфлоу
Чет как-то реально сложно выбрать себе стек. Из-за этого я туплю и не могу взяться за работу и прокрастинирую((
>Чет как-то реально сложно выбрать себе стек. Из-за этого я туплю и не могу взяться за работу и прокрастинирую((
Пиши код, блядь! Вилку взял и вперед! То ему не нравится, это не нравится, епта бля. Какую вилку в руках держишь — той и чисти!
Это правда хороший совет. Но есть несколько но.
Не наебусь я в итоге? Я просто не могу пока понять: в питоне от фреймворка зависит просто ДО ХУЯ. Фласк/джанго/торнадо они пропагандируют разные подходы, разные взгляды на написание приложений. Переиспользование кода между ними минимально.
А в Nodejs я не могу понять, где тренд, где хорошие практики, где вакансии, где вообще что.
Никто и не плюется от чего-то, кроме тебя.
А ты продолжай гордиться, что у мамы хипстер, и кричи всем вокруг какие все мудаки. Это правда поднимает настроение, спасибо.
Это от лукавого.
Он уже сообщал выше, что ему поебать на форхеад, главное читабельности.
Поясняю.
Тебе нужен koa. Почему?
Sails это полноценный MVC, скорее всего для тебя это оверкилл и магия.
Express живой, но он скорее решение для стабильной разработки в данный момент, потому что его сожрал ИБМ, выпер оттуда главного мейнтейнера пару дней назад и теперь он будет 1000% ынтрепрайз эдишен.
koa - новый express, туда свалили половина мейнтейнеров, его активно пилят, перделок больше, они новее и меньше старого говна. Нет проблем с новыми технологиями http2 например
Карочи, бери koa, рикаминдую.
ах еб твою жеж ж мать. Почему в Nodejs-комьюнити постоянно такие драмы. То TJ продает Express, то мейнтейнеров выкидывают, то Нода форкается в IO, то сливается обратно.
Я хочу писать код и фыр-фыр-фыр!
Вообще, начал уже Hapi юзать, но кода пока мало, сейчас посмотрю на Коа и может переметнусь быстренько.
Тупорылый примат, сам то додумался почитать перед тем как раскрыть свою недоразвитую пасть?
В ES по спецификации for итератор, также как блядь в твоей педивикии первый же пример неявного итератора в языках программирования тоже for.
Но ты видать слишком тупой чтобы это осознать, и видать спецификация для тебя тоже не указ, как писал тот анон выше. Свой путь ниндзя-дауна в мире своего ES, где for не является итератором, потому что его внезапно можно использовать для циклов.
Это норма. Показывает, что язык жив. Если всё тихо и нет новостей, то язык скорее всего умер. Посмотри на руби как пример. Гробовая тишина.
Спорное утверждение. Так же можно заявить, что люди вместо разработки занимаются выяснением отношений.
В рубимирке вообще были хоть какие-то значимые события? Кроме пришествия DHH я ничего и вспомнить не могу.
Это который делает эликсиры и другие штуки? Ну так, походу руби знаменит сейчас только тем, что все с него ушли.
> выпер оттуда главного мейнтейнера пару дней назад и теперь он будет 1000% ынтрепрайз эдишен
Не совсем. Я тут полистал issues, его выперли два раза, а он вернулся. Там были траблы с правами в npm. Но это пиздец, такое дерьмо творится, хуй проссышь. Вот он активничал вчера с составлением комитета:
https://github.com/expressjs/express/issues/2922
На реддите ещё писали о том, что там якобы большую часть его переписки сливали некому куратору из IBM, что его окончательно сломало.
Ну да, пилишь такой проект как хобби, в свободное время, а тебя не только прав лишают, так ещё и всю твою переписку и прочее куратору сливают, я бы тоже прихуел.
покатился на Koa. Ждите, анончики, может на общее обозрение еще поделку выложу, если годной получится.
+= лучше читается. Да и тернарные вполне смотрятся в коротких присвоениях.
Я хз, как там чо в жабосрипте, в нормальном программировании под итератором подразумевает абстракцию от типа коллекции.
Индекс массива такой абстракции не предоставляет, и поэтому всех, кто называет индекс итератором обоссывают.
>по спеке, фор являет собою итератор
Во-первых, фор - это конструкция языка.
Во-вторых,если который for .. in .. то основная мысль у тебя правильная - неявно создается итератор по коллекции.
Если сам организуешь индекс - то хуй. В любом случае ссылку на спеку, там посмотрим.
>>674800
>По официальной спеке ES-262 for является итератором, как и по CS-понятиям в целом.
>Но типичный for .. in это неявная итерация, а for как само действие тоже является итерацией, только с явным счётчиком.
>только с явным счётчиком
>Это основы кампуктер саенса, в википедии и всём остальном это есть, в спеке также отмечен фор как "условия итерации", итерейшен стейтмент карочи.
>Пикрелейтед
Кусок петуха путает итерацию и итератор.
http://jsbin.com/werohemoba/edit?html,js,output
4 день курю js-кун
Поэтому лучше, чтобы кто-то более опытный подсказал как правильно
onkeyup в твоем случае.
фикс keyup
Шизик, на скрине в посте и есть спека официальная. Ты совсем тупой и тебе главное переспорить в интернете?
Шизик, на скрине (14570302552050.png) нет ни слова про итератор. Там IterationStatement написано.
Про петухов, путающих итерацию с итератором я уже писал.
>>675703
Нет, не путаю. Я об этом написал: о доступе через индексацию, цикле и итераторе, а также итерации. Ты просто жопочтец, который не понимает что IterationStatement это поведенческий паттерн даже. Почитай https://mitpress.mit.edu/index.php?q=books/concepts-techniques-and-models-computer-programming
может хоть узнаешь немного как это работает и не будешь говорить глупости
>Нет, не путаю.
Как же не путаешь, когда утверждаешь, что итератор и итерация - одно и то же?
Лолшто? Перечитай мой пост внимательно.
Я написал о том, что for в данном случае выполняет функцию итератора (тот, который обходит коллекцию данных, да), через явный счетчик в цикле, который задается в условиях итерации (как действия, шаг, етц). А вот тот же for..in или for..of уже являют собою итераторы.
Ты меня просто неправильно понел, ну или я так криво написал, лол. Разницу между циклом и итератором я знаю, как и что такое доступ через индекс к массиву и подобное и почему оно не итерация.
Итератор - это первоклассный объект, через который можно итерировать. И цикл, и итератор по массиву используют индексы и длину массива, просто цикл превращается в соответствующие инструкции с доступом к этим данным при компиляции, а итератор инкапсулирует в своих методах доступ к ним.
> echo 'alert("Hello");';
>выполняет функцию итератора (тот, который обходит коллекцию данных, да)
Нет. Итератор не "обходит коллекцию данных", а предоставляет одинаковый интерфейс обхода коллекций разных типов. For index такого интерфейса не предоставляет, т.к. привязан к индексируемым коллекциям.
Нет, ты просто занудствуешь. Да, ты всё правильно пишешь, но я это знаю и это скорее придирка к терминологии, поэтому ты тоже не прав. Не коллекции разных типов, а абстракция для предоставления интерфейса при обходе структуры данных.
Так что забей, сейчас это дискуссия уровня "у тебя очепятка".
Сейчас на codeschool бесплатные выходные, там есть отличные уроки по js и фреймворкам, а на hackerrank сейчас идут недели js, где учат язык решая всякие клевые задачки и сравнивая результаты.
Всем рикаминдую.
Да, годнота. Возможно даже лучшее, что есть в интернетах по ноде кроме документации, конечно
>одинаковый интерфейс обхода коллекций разных типов
>одинаковый
Схуяли? Для разных типов можно сделать совершенно разные интерфейсы итераторов.
Но даже если использовать твое определение(кстати, откуда ты его взял?), for является итератором, потому что предоставляет одинаковый интерфейс "держи индекс и ебись как хочешь", позволяющий обойти любую коллекцию.
На английском слишком сложна
>Схуяли? Для разных типов можно сделать совершенно разные интерфейсы итераторов.
Дверь тоже можно сделать на потолке, и она все равно будет дверью. Только нахуй никому не надо.
>одинаковый интерфейс "держи индекс и ебись как хочешь"
Ахаха
>позволяющий обойти любую коллекцию.
Нет.
>Дверь тоже можно сделать на потолке, и она все равно будет дверью. Только нахуй никому не надо.
Разговор был об определениях, а не о нужности.
>Ахаха
хДД
>Нет.
Ты просто не умеешь ебаться. Алгоритмы обхода построены на основе банальных циклов, тащемта.
пути не так прописаны? надо ангуляр.жс поключить?
В чем резон оплачивать еще один домен и ждать пока разрезолвится еще 1 днс-имя при первом заходе на сайт?
Спс, нагуглилось.
Как это по-умному организовать?
Найти все дивы через qurySelectorAll, это получится массив. И при нажатии проходить по всему массиву в поисках нужного элемента что ли?
Вешай слушателей на событие клика на каждый див
Можно повесить по слушателю на каждый элемент, а можно, например, повесить только одного слушателя на контейнер этих элементов, если позволяет архитектура, само событие хранит целевую ноду, по которой произойдет клик.
В том, что твои Арр1 и Арр2 не массивы, а NodeList. Разницу между ними сам нагуглишь. Про дивы не понял, к чему они тут?
Прежде чем работать со своими Arr1 и Arr2 как с массивами, преобразуй их в массивы.
Array.prototype.slice (Arr1)
>Ясно, дивы лучше сразу из ДОМа брать, без доп. переменных?
Чего? Это тут при чем? Это зависит от твоих задач.
Но если что DOM тебе возвращает объекты либо Node либо NodeList
Если ты хочешь применяеть к NodeList методы массива, то будь любезен, сначала преобразуй их в массивы.
>дивы лучше сразу из ДОМа брать, без доп. переменных
Если ты используешь доступ к одному и тому же диву по несколько раз, то используй переменную, чтобы не дергать каждый раз DOM
Там вроде какие-то проблемы с сериализацией данных у ангуляра для пыхи, погугли
Если не знаешь html/css - просмотреть интенсив от академии/завалиться в верстка-тред на воркаче. Там народ осваивает все, что с версткой связано.
О, как раз сегодня сталкивался с разницей между массивом и коллекцией. Захожу, а тут такое у анона
4 день учу js кун, через полчасика уже будет пятый день, лол
И вот тут, если тот чувак еще заходит, лучше сделать on input, а не on keyup как я предлагал
А, еще же JQuery учить. Реально к лету вообще все это выучить, включая интенсив от академии и сделать пару сайтиков для портфолио? Основной курс на learnjavascript примерно через недельку закончу.
Сори за вообще^2
Просто набор функций, упрощающих жизнь
$(тут выбираешь элементы через селекторы).тут применяешь функцию с нужными аргументами
Ну ознакомиться с этим все же надо будет. Главный вопрос:
>Реально к лету вообще все это выучить, включая интенсив от академии и сделать пару сайтиков для портфолио?
Отлично. Спасибо за ответы.
Если например я скажу что нереально. Ты же не бросишь из-за этого заниматься? Думаю, что нет. А если бросишь то значит оно тебе не надо было и неинтересно.
Если же наоборот скажу что реально, а ты не смогёшь - будешь потом жаловаться что неправдивую инфу дали.
Так что сиди, занимайся тем что надо и не задавай глупых вопросов
Ты прав.
Оп-няша, подскажи, есть какие-нибудь фреймворки или библиотеки по жс по аналогии с бутстрапом для цсс? Типа: вот команда для слайдера, вот для настраиваемой галереи, вот для выпадающего меню, вот для всплывающего с вкладками, все конфигится и не надо в 101ый раз изобретать велосипед. Идеально для тех, кто язык не знает и не хочет учить, или почти не знает, или дедлайн близко. Ну ты понял, наверное.
По-моему, это совсем не то.
По крайней мере, мало элементов, настроечек, именно вот кусков-блоков типа описанных, а не микросвистелок. Хотя. Толком не понимаю из-за того, что у меня на планшете все ПИДОРАСИТ и ч даже каталог не могу глянуть.
>И ТУТ СУКА ВНЕЗАПНО ANGULAR 2 НА КАКОМ-ТО ССАНОМ TYPESCRIPT! У МЕНЯ ПАНИКА! ПОЯСНИТЕ ЗА ЭТУ НИХУЁВИНУ!
JavaScrip в том виде, в котором он сейчас -- умирает? Так?
У меня сириусли паника!
Нет, с ним всё ОК, просто в один момент ребята немного заебались жява-приматы в основном писать код на жс и потребовали нечто похожее на их любимый язык приматов. Ну, коллеги жява-приматов из мелкософта и любители наворачивать жябу-с-сахарком недолго думаю предложили им свою разработку - тайпскрипт, так и пошло. Таких тайпскриптов уже дохуя было - кофискрипт, дарт, лайвскрипт, етц.
Это всё транслируется в жс, просто приматам которые по 20 лет пишут на одном языке легче было принести его в фронтенд, чем привыкать к новому. Я пиздун, на самом деле просто там есть статическая типизация и поэтому большой код писать и мейнтейнить намного легче, вот и всё
> именно вот кусков-блоков типа описанных, а не микросвистелок
Бери тогда материал, там больше директив
https://material.angularjs.org/latest/
Ребята, я начинающий профан, пользователь JavaScript/jQuery. Вот простенький код, который делает маленькую анимацию картинки при наведении на надпись.
https://jsbin.com/wesomufuno/2/edit?html,js,output
Но проблема в том, что все элементы с такими классами выполняют это действие, при наведении на одно из них ( навёл на одну надпись, увеличелись все картинки с этим классом ), как сделать так, чтобы при наведении на одну надпись, увеличивалась только та картинка, которая находится с ним по соседству в DOM-структуре ?
>Eсли ты используешь доступ к одному и тому же диву по несколько раз, то используй переменную, чтобы не дергать каждый раз DOM
А если у меня есть некоторый массив, размер которого постоянно меняется, то есть с жоп. переменной мне нужно будет дополнительно каждый раз менять переменную.
С переменной будет быстрее, чем каждый раз перечитывать DOM?
>>676879
Причем тут джей-квери, если нужны готовые элементы, а не упрощение написания готовых элементов, алё?
Ангуляр ошибки в консоль все выводит, чтобы понять что происходит смотри в нетворк на запросы, что отсылают, что возвращают. Смотри в логи сервака(что там у тебя за хуйня поднята).
`npm i [--save|--save-dev|--save-optional] [--save-exact]`
? Где вообще man?
нет у меня вообще ничего в консоли, может иде плохая? console.log не пишет, алерт не пишет.
и в логах ничего! т.е. ошибка явно в ангуляре.
error(function (response, status, headers, config) {
deferred.reject(response, status, headers, config);
});
А нашёл. Извините, гентопроблемы.
>Реально к лету вообще все это выучить
Хтмл и цсс месяц, жс месяц, жквери неделю-две, сверстать пару сайтов в портфолио, спотыкаясь чертыхаясь и гугля неделю-две. Это если не напрягаться и учиться по два-три часа в день.
Я вот дохуя математик, получается если напрячься и учиться по 12 часов в день то можно справиться за две-три недели?
Есть годная литература и видосики на русском?
года два-три уйдет до того, как сайты сможешь делать.
Смотря что вкладывать в понятие выучить жс (если ваять spa на react/angular то явно месяцем не отделаешься)
Жквери же при хорошем знании жс ну неделю от блин вообще от силы ибо просто ознакомиться что предоставляет и все.
Верстку осваивать так же не понятно в каком объеме - на уровне просто какого-нибудь базового интенсива от академии. Или на уровне респонсив верстки с цсс-3 свистоперделками, с пост и препроцессорами, автоматизацией процесса, копанием в цсс-фреймворках, методологиях и т.д.
Так что все зависит от того на каком уровне собираешься освоить. А вообще век живи - век учись, ибо выйдет завтра какая-нибудь моднявая приблуда - надо будет и ее осваивать.
Бамп, киньте пожалуйста еще вариантов.
И почему return не показывает значения при переборе массива?
https://jsbin.com/gezazujuzi/edit?js,console
Бля, ну как бы return приводит к выходу из функции, а console.log нет.
button.addEventListener("click", doSomething(x,y));
function doSomething(x, y) {...}
??
button.addEventListener("click", doSomething);
Вот так вызывай, иначе определяй функцию по другому, например, так.
button.addEventListener("click", doSomething(x,y));
function doSomething(x, y) {
return function(x,y){}
}
Но если я вызову через button.addEventListener("click", doSomething);
Мне придется еще доп. функцию для передачи аргументов написать?
Просто ты не умеешь поиском пользоваться
http://stackoverflow.com/questions/256754/how-to-pass-arguments-to-addeventlistener-listener-function
var someVar;
someVar = some_other_function();
alert(someVar);
someObj.addEventListener("click", function(){
some_function(someVar);
}, false);
Лучше сделать это на самой странице, так как потом хуй разберешь откуда он там появляется и что делаешь.
Тому что первое - это фреймворк, а второе - ui-либа к нему
Если структура блока одинаковая, но просто меняется текст, то я считаю, что лучше все-таки генерировать этот текст через js, чем создавать кучу однотипных блоков
jQuery UI - это и есть библиотека с готовыми элементами - слайдерами, меню и прочим.
Считайте, что я сексист - но не могу слушать/читать мнение девушки-разработчика. Сразу выключаю. Да даже если она в 1000 раз умнее меня все-равно не буду смотреть.
Кстати, могу историю рассказать одну. К девушке этой с видео история не относится. Да и вообще мало касается сферы деятельности. Но все же.
Есть у меня одна знакомая - училась на разработчика. Короче она кичилась что ее мама - программист. А потом как-то я услышал от нее как она рассказывает подружке что они с мамой вызывают домой какого-то знакомого когда надо винду переставить и настроить программы. Плюс еще жаловалась, что надо батарейку было поменять в компе. А тот мужик, который им все делал видимо был занят и вот они полдня с мамой не могли ее поменять.
К тому же эта девушка-будущий разработчик не знала как добавить клавиатурную раскладку на ноут (была только английская вроде, а она хотела добавить русскую).
У нее красный диплом и наверное теперь даже работает где-нибудь. Ведь специалист жи.
Мама, кстати, как оказалось была программистом на 1с. Девушка как-то рассказывала мол мама программирует на русском. Это фраза была пущена потому, что у самой девушки были проблемы с инглишем и мол инглиш в ит ненужен ведь мама то прогает на русском.
Ну эт так, просто история. Она не отражает моего отношения ко всем девушкам и ни на что не намекает.
мимо-анон
ну ты и урод.
console.log это функция
return это конструкция языка
Предназначение и поведение у них различны.
> Считайте, что я сексист - но не могу слушать/читать мнение девушки-разработчика
Чет удвою. Не знаю почему, но тоже не могу воспринимать серьезно то, что она говорит
Я ньюфаг, пишу расширение для chrome. То есть там только ui. Намеренно пока не использовал фреймворки, чтобы разобраться сначала с чистым js. Но вот пришло время и мне захотелось использовать redux. Как мне это сделать с минимальным подключением сторонних либ?
Нагугливаются всякие babel, traceur, webpack, browserify, bower, systemjs, транспиляторы, полифилы, нативная модульная система es6, которая непонятно поддерживается или нет (похоже что нет, потому что на import ругается) и ещё целая куча чёрт знает чего. Что мне из этого всего действительно нужно? Повторюсь серверного кода у меня нет, только ui.
Угу, а ты написал Ангулар. Хотя бы на первую букву внимание обрати, если уж ты про транскрипции вспомнил.
>>677294
Да ладно, шутка же. Она на самом деле там какую-то чушь несет. Что-то типа "программирование для домохозяек".
>>677215-кун
Это не я писал, тот аутист ты? изначально доебался до буквы а. Я пояснил, почему писать а правильнее буквы я
у меня ёбнутая мразь-тётка которая не может переключить вкладку в браузере просит её научить погромированию чтобы зарабатывать многа
Так дал бы ей какую-нибудь книгу и сказал, что надо выучить. Вдруг осилила бы.
Нет, не я. Я - мимокрокодил.
Просто если уже выебываться с правильным написанием, то до конца. Но эт не только тебя касается (а того чувака, и меня и всех остальных)
А еще лучше сразу на английском - тогда и комар носа не подточит, лол
Ты странный какой-то. Зачем добровольно выпиливать себе кусок из картины мира? Тут недалеко до просмотра все ментейнеров джиквери, чтобы случайно бабский код в продакшен не попал.
Считаешь, он что-то потерял не посмотрев то видео?
Нет, никто не говорит, что нет хороших программистов в рядах девушек, но то, что творится на видео положительных эмоций не вызывает.
Считаю, что он потерял несколько хороших видео с React Conf, где выступают девушки.
Это видео я даже не открывал.
Да я не отрицаю что есть отличные разработчики женского пола. Тут дело не в этом. Если код хороший - почему его надо выпиливать? Тут пофигу кто написал, хоть транс.
Я имел ввиду что в большинстве случаев из тех докладов, что я смотрел девушки преподносят инфу менее качественно что ли. (Хотя вот по дизайну неплохо вроде и что примечательно на зарубежных конфах в целом получше доклады даже от девушек). Это моя личная выборка она скорее-всего мала, чтобы делать на основе нее далеко идущие выводы. Поэтому я ее и не выдаю как истину в последней инстанции.
Вначале он пишет, что должны оставаться кавычки в подобной функции, иначе она не сработает:
prompt ('Вопрос', ' ')
Потом он пишет это, и оно у него работает:
var arg = prompt("Введите arg?")
Чё за хуйня? Разорвало пердак аж
Меня люто бесит, когда html произносят как АЙШТИМЛЬ (то есть пытаются произнести первую букуву как АШ а не ЭЙЧ).
Ровно так же бесят те, кто JS произносит как ЖС (в то время как J это ДЖЕЙ).
Ну, а про Java как Ява - я вообще молчу.
Внимательнее читать надо просто. Написано что рекомендуется ставить значение default ибо в ие работает не так как везде.
Совсем шизанулись уже?
Ну можно общаться еще в таком ключе:
"Моя говорить - главна, что твоя суть понимать."
Какие объективные минусы? Суть же ясна, что человек хотел донести.
Эх, щас бы школьный максимализм включить, ага.
>>677381
>Моя говорить - главна, что твоя суть понимать.
Вот здесь как раз смысла уже объективно меньше, если что. Но ты не видишь разницы, да.
Ну я лично когда первый раз услышал "Надо изучить ксс" даже не понял о чем речь идет. Так что для меня шо то - шо это.
Потом, правда, ниче, привык, втянулся...
Не знаю, как там у тебя.
Но когда приходиться обсуждать задачи войсом, и слашть постоянно КСС, КМС, ХТМЛ, ЯВАСКРИПТ, МВЦ, в то время как сам произносишь правильно. То диалог сам по себе звучит странно.
Подскажи, может ли js парсить страницу другого сайта?
Нужно с этой ссылки
http://freeproxy-list.ru/api/proxy?anonymity=false&country=ru&token=demo
спарсить каждый ip в массив.
>Ну я лично когда первый раз услышал "Надо изучить мвц" даже не понял о чем речь идет.
Ты просто тупой
>в то время как сам произносишь правильно
Начальнику скажи, пусть к зарплате тебе прибавку сделает за правильное произношение
>сделать/изобрести велосипед
Написать то, что было уже написано другими, причем намного лучше, чем это можешь сделать ты
>сделать костыль
исправилть баг/добавить что либо в код чере жопу
Сделать велосипед - это когда у тебя есть возможность пойти и взять готовый велосипед, но ты решаешь его делать сам с нуля (или почти с нуля). То есть будешь варить раму, собирать колеса, вставлять спицы, етк.
А костыль, это когда вместо того, чтобы починить что-то нормально, ты перематываешь это изолентой.
Спасибо.
Слышал, что на node.js можно работать без поднятия его у себя. Где-то случайно когда-то на стековерфлоу попадались строчки кода с подключением к серверам яндекса.
Так ещё сделать возможно? Как оно вообще работает?
Вообще мне из того списка айпи нужно их запихнуть в .pac файл, который подхватывает уже плагин.
Если я буду выкачивать сам список айпи и просто парсить этот файл? Браузер не заблокирует обращение к файлу в файловой системе? Плагины вообще могут с ФС работать?
но его ведь в .pac файл не впихнуть
Я правильно это понимаю, что мне нужен некий полифил который прокачает браузер так, чтобы тот понимал оператор import/export? Может его самому можно реализовать, чтобы вообще ничего не тянуть или это сложно будет?
Скорее всего, сам жанопривет графоманам из этого итт обрабатывает только get запрос, а на post такого обработчика нет
он есть, без ангуляра POST запрос работает на эту страницу, а через форму и ангуляр не получается
Значит давай код обработчика, скрины все и кон ангулара который отправляет запрос. Не собрание шадалок.
var deferred = $q.defer();
Что понятно, асинхронная хрень не работает на локалке?
>>677512
Короче, у тебя там не только этот пост не отрабатывает, но и вообще любой пост запрос из ангулара, да?
Если так, но гугли гайы по настройке связки ангулар+джанга
>Короче, у тебя там не только этот пост не отрабатывает, но и вообще любой пост запрос из ангулара, да?
у меня он один, это весь код приложения. Я первым делом гуглил, пока никак не нагуглю
Ты просто уебок.
google => django angular post => 3 ссылка => http://dunmaksim.blogspot.ru/2014/11/angular.html
Да, туплю
Angular2
Это новый фронтенд-фреймворк?
Никто не хочет со мной разговаривать. Ладно пойду спать, может во сне всё как-то уложится.
Залётный в треде. Какие ещё разговоры он искал в среде программистов, лол.
var n = prompt('Введите степень n:', '');
function pow(x,n) {
if ( n < 1 || n != ~~n || typeof n != 'number') {
alert('Введите целое число больше 0.');
}
} else {
var result = x;
for(var i = 1; i < n; i++) {
result *= x;
}
return result;
}
}
alert(pow(x,n));
О, спасибо. Значит можно просто унарный плюс вставить.
Ну ты и скотина, я тебя попросил пояснить, а ты кроме ругательств ничего не оставил.
Все правильно делаю?
Это копия, сохраненная 28 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.