Этого треда уже нет.
Это копия, сохраненная 3 июня 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #961371
>>961365 (OP)

знатоки, подскажите плиз, как в хроме и ноде смотреть дерево вызова объектов и как лучше писать не блокирующий код, м/б для п 2, есть какой-то универсальный рецепт?
961672
#3 #961452
Подскажите, что такое Browser API?
968721
#4 #961467
Антон, нужна твоя помощь.

На textarea весит on.change, который вызывается при каждом нажатии и выводит в консоль символы. Как написать так, чтобы выводились все символы разом(после некоторого таймоута)?
961494961499961500
#5 #961468
господа, можете подсказать по селениуму на жс? установил себе java, selenium-standalone-server, node-js (в нем скачал пакет selenium-webdriver), скачал и добавил в paths chromvewebdriver, нашел простейший пример в виде

const {Builder, By, until} = require('..');

var driver = new Builder()
.forBrowser('chrome')
.build();

driver.get('http://www.google.com/ncr')
.then(_ => driver.findElement(By.name('q')).sendKeys('webdriver'))
.then(_ => driver.findElement(By.name('btnG')).click())
.then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
.then(_ => driver.quit());

затем сохранил и столкнулся с тупейшим вопросом. А как это запустить в селениуме? При установке руководствовался статьей https://habrahabr.ru/company/yandex/blog/173769/ и гуглом
961502
#6 #961494
>>961467
Или лучше, что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?

Двачик, помоги.
961619961670
#7 #961499
#9 #961502
>>961468
пишешь конфиг, указываешь путь к спеке, запускаешь нодой
http://webdriver.io/guide/getstarted/configuration.html
#10 #961537
Какое же все-таки говно этот ваш жс. Вроде бы 2017 год на дворе, но нет, на каждый чих нужно бороться с ахуенными проблемами вроде плохой поддержки какой-то фичи каким-то браузером, обвешивать свои скрипты тоннами костылей, чтобы получить возможность хоть немного приблизить эту ссанину к виду человеческого ЯП. По количеству костылей и велосипедов, вкладывающихся друг в друга, переводящих импорты в коммонжс, коммонжс в амд, амд в <скрипт>, асинхи в промисы, промисы в колбэки, темплейты в jsx, jsx в html, навешивающих поверх всей этой вакханалии типы, список можно продолжать бесконечно - он приближается, если не перегоняет уже, тырпрайзную жабу. И это ебучее стремление переписывать абсолютно все уже давно существующие, стабильные, всем знакомые решения на точно такие же, только с более нескучными конфигами. Родина дала мэйкфайлы, которыми еще диды процессы сборки автоматизировали - нет блять, хочу наизобретать хуеву гору своих велосипедов. Просто фу блять, фу нахуй
#11 #961561
>>961537
Просто разработчики ФРОНТЕНДОВ и дипломированные специалисты по BOOTSTRAP вместо того, чтобы делать просто, делают все сложно чтобы сделать индустрию, рабочие места и высокую зарплату. Хитрый план.
961586
#12 #961586
>>961537
>>961561
уебывай
961616
#13 #961616
>>961586
Значит правда.
#14 #961619
>>961494
Наканецта завезли неразрешимые задачи. Последнего нажатия не бывает. Компьютер не может узнать, нажмёшь ты кнопку после этого или нет. Лучше объясни, что ты хочешь получить на выходе
167 Кб, 1755x449
#15 #961657
Всем привет. Нужна помощь по css-селекторам. Весь гугл перехуячил, но ничего не выходит. Имеется два элемента class с одинаковым именем info. Скриншот прилагается.
Так вот в одну переменную мне нужно записать Имя команды, во вторую- позицию игрока.
При команде var team=$("div.info").text();
Я получаю ответ SouthamptonGoalkeeper.
Как мне обратиться к каждому конкретному элементу? Или хотя бы разделить сроку так, чтобы я мог присвоить Goalkeeper для другой переменной?
961663962195
#16 #961663
>>961657
Добавь к селектору указание на четность\нечетность элемента.
#17 #961670
>>961494

>что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?


debounce
961898
#18 #961671
>>961537

>говно этот ваш жс


Да.

>немного приблизить эту ссанину к виду человеческого ЯП


Тайпскрипт, scala.js

>если не перегоняет уже, тырпрайзную жабу


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

>мэйкфайлы


Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.
961673
#19 #961672
>>961371

>как лучше писать не блокирующий код


callback hell
961768
#20 #961673
>>961671

>Тайпскрип


И навесить очередной велосипед, транслирующий тайпскрип в ес7, ес7 в ес6, ес6 в ес5, потом прикрутить полифилл...

>Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.


Я-то собирал. Хочешь сказать, что ссанина с нескучными конфигами, которую дополнительно нужно изучать, охуенно удобна?
961691
#21 #961682
>>961537
У очередного закостенелого припекло от того, что все не так, как он привык. Будь гибким как вода ну или страдай.
#22 #961691
>>961673

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


Писал на С# до этого, ничего не изучал - надстройка проста и понятна, достаточно часов читнуть документацию.
961692
#23 #961692
>>961691

>часок


fix
97 Кб, 1080x1080
#24 #961733
>>961365 (OP)
Разъяснения по ридаксу от анона. Рекомендую.
https://www.youtube.com/watch?v=PG0YuLY2Qic&t
#25 #961754
>>961733
астанавитесь, сколько можно снимать одно и тоже
#26 #961756
Дочитал вторую часть учебника(про дом) кантора. В какую сторону дальше двигаться, сразу в фреймворки вкатываться или лучше еще что нибудь почитать? Алсо как дела обстоят с работой в дс2, какой фреймворк перспективней всего учить чтобы проблем с работой и зарплатой не было?
961763
#27 #961763
>>961756
Сделай что-нибудь на ваниле. С приминением этих знаний.
Если ничего не можешь придумать - wes bos javascript30 (просто чтобы база в голове закрепилась)/
Потом пару дней поковыряй апиху jq, lodash/ramda.

Далее да, фреймворки.
Но если не знаешь про сборку/автоматизацию то полезно будет глянуть от Кантора по ноде/вебпаку/галпу сринкасты его.

Из фреймворков выбирай любой из:
1) React + Redux
2) Vue + Vuex
3) Angular

Даже после изучения фреймворков (и во время) можешь углублять понимание ваниллы: например по книгам из этого списка https://github.com/javascript-society/javascript-path и статьям всяким.

Если же в ноду хочешь, то тут ничего кроме express не подскажу, сори
961838961934
#28 #961768
>>961672

да это понятно, но у меня всё сложней, как быть если операция блокирующая? например итерация объектов/массивов, релейт http://stackoverflow.com/questions/8413857/whats-the-smartest-cleanest-way-to-iterate-async-over-arrays-or-objs

вроде как для этого есть либа https://github.com/caolan/async

но я хочу понять как это сделать "ручками", без либ

ок, буду гуглить дальше
961787
#29 #961787
>>961768
а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?
Ну а если ты хочешь руками асинхронно перебрать массив, то эт наверное генераторы нужны (es7 async/await), но пример сходу я показать не смогу. Если что-нибудь получится, отпиши
961926961938
4 Кб, 200x112
#30 #961838
>>961763
Спасибо няш.
#31 #961874
>>961733
Посмотрел 15 видео подряд. Голова болит от говорилки. Наберись смелости и записывай свой голос. Вставки из фильмов — ок, но вот братишки и прочей хуйни было слишком много и не к месту. Базарить надо попроще и покультурнее со своими подписчиками. Если ты хочешь, чтобы у тебя было 3.5 подписчика — продолжай в том же духе, иначе меняй стиль общения, тебя могут смотреть люди не только с двача и не только школьники.
961877962248
#32 #961877
>>961874
Добавлю: сам контент неплох, норм поясняешь.
#33 #961897
Котаны, шалом.

В вашем треде есть ликбез? Или я его проебал?

Я мимо-сисадмин, чет мясяца-полтора назад увлекся версткой, мне доставляет весь этот огород городить на css и html, однако в определенный момент я понял что без ЖабаСкрипт никуда.
В универчике писал программки на турбо паскале, давным-давно, да и все.
Но общий принцип циклов, массивов и прочих операторов помню (кажется).
Подскажите нормальных книг по джаваскрипт, ну и нормальную книгу по собственно логике программирования как таковой, что бы освежить воспоминания, и совсем уж макакой не быть.
Сейчас изучаю по урокам https://learn.javascript.ru/
у этого типа есть платный курс - он стоит своих денег может знает кто?

Очень уж хочется порадовать мир еще одним "hellowordom", аж кушать не могу.
Но совсем уж мартышкой быть не хочется.
#34 #961898
>>961670
>>961500
Спс, то что нужно.
#35 #961918
>>961897

>он стоит своих денег может знает кто


JS-курс — тупо пересказ учебника + общение с преподом. Общение такое себе, просто разбирает решения задач.

>логике программирования


Не уверен, но вроде бы должна подойти книга под названием Eloquent JavaScript (есть годный перевод "Выразительный JavaScript").
961979
#36 #961926
>>961787

>эт наверное генераторы нужны


нахуя? пул с онкомплит пишется на коленке и отлаживается за полчаса тестов на хелловорлдах
#37 #961934
>>961897
Привет.
Для начала перестань глумиться над названием языка.

Отвечая на вопросы- learn.javascript.ru норм. Выше чуваку писал где еще книги можно глянуть. >>961763

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

Нормальную книгу по логике прораммирования, хм, SICP))

Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).
961979
113 Кб, 600x442
#38 #961938
>>961787

>а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?



если я правильно понял, любой цикл - блокирующая операция.

если ты перебираешь массив/объект, ты всегда используешь какой либо цикл, и это будет блокировать твой код, код будет стоять, пока не закончится перебор всего объекта. ЖС однопоточная.
961955961983
#39 #961947
>>961365 (OP)
Котоны, нужна помощь. Имеется сайт, на который пользователь может загрузить аудиофайл, после чего проиграть его и в процессе посмотреть на визуалиацию.
Но так как место на сервере не резиновое, пытаюсь прикрутить поддержку какого-нибудь облачного хранилища музыки. То есть, чтобы юзер вбивал в форму на сайте ссылку с песней из этого хранилища и она проигрывалась. Пробовал использовать для этого SoundCloud API, вроде он как раз умеет делать то, что мне нужно. Но из-за того, что они изменили процесс регистрации приложений у них, я уже полтора месяца не могу получить доступ к API. Есть ли какие-нибудь аналоги? Или вообще другие способы всё это организовать?
961949
#40 #961949
961960
#41 #961953
>>961897
Учи в таком порядке:
1. learn.javascript.ru
2. Скринкаст по NodeJS там же
3. Пробегись по документации к webpack 2
4. Прочти документацию React и начинай делать какие-нибудь учебные проекты, наполни свой github-репозиторий

>Но совсем уж мартышкой быть не хочется.


Забей на это. Не читай SICP и Eloquent JavaScript, как можно скорее переходи к практике. Потому что в экосистеме JS слишком много фреймворков и инструментов. Когда сделаешь пару нормальных проектов, разберешься во всем этом говне, найдешь работу, тогда уже можно качать логику программирования.

961918-кун
961954961979
#42 #961954
>>961953

>2. Скринкаст по NodeJS там же


Блять, забыл уточнить, что смотреть нужно только первые 9 видео.
#43 #961955
>>961938
А я вот что-то не уверен в этом суждении. Цикл рано или поздно закончится (который не бесконечный офк), а вот команды, которые выходят за окружение ноды(нода в данном случае просто среда исполнения js) вот они блокирующие. Тот же самый alert или fs.ReadSync. Но вообще я не настаиваю
#44 #961960
>>961949
Спасибо, буду разбираться.
#45 #961979
>>961918
>>961934
>>961953
Спасибо котаны за советы. Знаю с чего начать теперь.
Это даже забавно, но я на данный момент на заряде каком то, основной профиль работы надоел до одури. С бабой с которой прожил под два года разошелся.
И голова как барабан.
А фронтред это прям отдушина - и творчество и сириос скилл.
Честно говоря на данный момент забивал версткой все свободное время, в том числе и на работе.
Щас буду время забивать javascript.

>961934


>>Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).


Всякие косорылые батнички и скрипты под красноглазую.
Понимаешь у профессии сис.админа есть один фатальный порок - когда все настроено и работает - делать нехрен. И выше того что есть прыгнуть сложно.
Опять же принцип - не трожь пока работает.
А создавать себе задачи принудительно, и решать их в сисадминстве - это не совсем как сказать себе - а давай ка я напишу крутейший сайт, ну по крайней мере попробую.
Зачастую сисадмину нужно оборудование.
Крутые сервера, понтовые маршрутизаторы ну и т.д.
#46 #961983
>>961938

>любой цикл - блокирующая операция.


чет в голос
962085
#47 #961985
Сделали бы нормальный FAQ уже для треда, а то как бомжи блять. Раньше же вроде было что-то. Есть тут сеньоры мб или миддлы хотя бы которые могут этим заняться? Реально полезно же было бы для новичков.
961986961997961999
#48 #961986
>>961985

>нормальный FAQ уже для треда


Нахуя? Для пары минут в гугле?

>полезно же было бы для новичков.


Не умеют искать инфу - вон пусть пиздуют из профы
95 Кб, 1280x354
#49 #961997
>>961985
Предлагаю взять пикрилейтед за основу фака для этого треда
962000
#50 #961999
>>961985
В фронтенд треде из wrk есть шапка - можете ради вдохновения взять себе. Или тупо спиздить (какая кому разница)
#51 #962000
>>961997
А че, годнота ведь написана
#52 #962035
хуйня вопрос, делай следующее:
ставишь на комп ноду и нпм
ставишь ярн
ставишь бабел и пишешь бабелконфиг
ставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммит
ставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эс
инитишь гит, добавляешь гитигнор
не забудь ярн лок в репу
потом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагин
потом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетч
для удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так круче

короче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.
#53 #962036
Раньше на одном сайте тренировался в использовании js для решения небольших задачек(например, делить строку на 2 части, инвертировать последовательность каждого символов в образующихся подстроках и соединять обратно). Оформление сайта было черно-красным. Сам сайт давал своему пользователю даны, как восточных единоборствах, очень близок был к восточной(скорее всего к японской) тематике. Кроме js, можно было тренироваться в владении другими языками, но, помимо scala, какими - не помню. И, вроде как, он был в шапке треда.
Помогите найти этот сайт.
962040
#54 #962039
>>962035
О, кто-то еще схоронил этот шедевр
#55 #962040
>>962035
только подправить надо
react-router-dom

ну и вроде вместо babel-preset-es2015
можно заюзать babel-preset-env

>>962036
codewars
962041
#56 #962041
>>962040

> codewars


Спасибо.
#57 #962046
>>961897
Попробуй FreeCodeCamp. Бесплатно, весело, довольно практично. Сначала тупак, потом посерьёзней.
https://medium.freecodecamp.com/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d#.q792q3252

а вот список практических штук, которые можно попробовать написать после освоения вывода "Привет, Пит" в консоль, лол
962051
#58 #962051
>>962046
Норм, схоронил. После того как допилю то, что запланировал может оттуда идейки потырю

мимо
#59 #962085
>>961983

наркоман?
19 Кб, 558x431
#60 #962195
>>961657
Снова выхожу на связь. Эту проблему решил, появилась новая.
Вот мой код

var request = require('request');
var cheerio = require ('cheerio');
url='https://www.premierleague.com/players/3170/Fraser-Forster/stats?se=54'
request ({url, method: 'GET', encoding: 'binary'},
function (err,res,body) {
if (err) throw err;
setTimeout ( function () {
var $=cheerio.load(body);
var name=$("div.name").text();
var team=$("div.info").first().text();
var position=$("div.info").last().text();
var games=$("div.topStatList").text();
console.log(name);
console.log(team);
console.log(position);
console.log(games);
},5000)});

Изначально, заходя на страницу со статистикой игрока https://www.premierleague.com/players/3170/Fraser-Forster/stats отображается общая статистика за все годы карьеры, если в выпадающем списке выбрать последний сезон, то к ссылке добавляется ?se=54, с которой я граблю. Но если пройти по ссылке, то видно что изначально подгружается общая статистика и только потом за последний сезон, который мне и нужен.
Так и мой код загружает первоначальную ОБЩУЮ статистику за все сезоны, а не за последний. Как видно на скриншоте.
Как можно решить такую проблему? Пробовал таймер ставить- не помогает.
962244
#61 #962223
Поясните, чем макОс лучше винды для веб-разработки? Вроде тот же нпм, ярн, нода, вебпак и так далее, всё работает и запускается без костылей. Редакторы те же самые.
92 Кб, 500x400
#62 #962244
>>962195
Очевидно, что эти данные подтягиваются через AJAX\WS после загрузки страницы. F12 -> Network помогает отследить, что и откуда взялось. Либо работа с тем же IE через WSH.
#63 #962248
>>961733
проиграл со вступления

>>961874
последние ролики без мата, все чинно, благородно
хотя читать такие советы на дваче
#64 #962302
>>962035
я бы ещё nvm поставил
#65 #962466
Анончик, объясни, почему в https://pastebin.com/fcLM82tM консоль лог выводит одинаковые значения? (в массиве только один объект). Разве выполнив Object.assign({}, state); я не создал новый объект, который после редактирую?
962587
73 Кб, 661x688
#66 #962471
Что можете за vue.js сказать? Нужен он где-то кому-нибудь на работе или нет, просто очередной проходной хиста фреймворк?
962472962522
#67 #962472
>>962471
Жыдбрейнсы запилили поддержку этой хуйни в новой идее, значит нужен.
#68 #962522
>>962471
вью жс - это когда ангулар слишком навороченный, а реакт слишком геморный.
962586
#69 #962580
джавист стаж 2 года.
на работе ебут за то, что должен быть фулстек.
охуеваю от сложности js
962588962742963239
#70 #962586
>>962522
вью жс - это когда хочется чтоб как в реакте, но реакт слишком сложен для твоих мозгов

давайте дальше шутки про вью за 300
#71 #962587
>>962466
Почитай как работает Object.assign - сразу поймешь в чем проблема
#72 #962588
>>962580
Пиздец за 2 года бэкенд не освоить, я его вместе с фронтом сидя дома за 3 года освоил
962596
#73 #962596
>>962588
в смысле не освоил? мне нравится бэкенд, но заставляют дрочить и фронт, к которому душа не лежит
59 Кб, 848x552
#74 #962728
Анончики, вот я сейчас изучаю JS по Кантору, изучил 5 глав, пока тяжеловато идёт ибо это мой первый язык программирования, но потихоньку справляюсь. Появился такой вопрос: сколько информации необходимой для работы или для достаточного уровня владения языком даёт в своей книге Кантор? Т.е я хочу понять на каком этапе обучения я буду после прочтения этого всего материала, выполнил ли я 50% необходимой работы чтобы вкатиться и нормально уже хоть что-то делать в фронтенде, или это уже 70% необходимых мне знаний (ну что-то в этом плане).
962736962742
#75 #962736
>>962728
20%
WebASM
React
Angular2
Bootstrap
IPFS
HTML6
CSS4
ECMAScript7
TypeScript

Фреймворки все лучше не учить и на ванилле писать, но для работы надо знать новые модные фреймворки.
962773962840
#76 #962742
>>962728
Просто пиши больше кода - игры на Canvas, например.
Для работы в основном нужно знание фреймворков (Angular, React, Bootstrap ну и само собой jQuery), какие-то языковые тонкости спрашивать вряд ли будут.
У Кантора учебник написан для людей, знающих программирование (на других языках).

>>962580
Это ерунда, меня вот заставляли учить связку React+Redux+TypeScript. Главное в JS запомнить, что там нет классов (в нынешнем стандарте ECMA есть, но не нужны) и объекты это хэш-таблицы с изменяемой структурой, что нужно использовать лямбда-выражения, что там слабая динамическая типизация и в чем отличие == от ===. Чистый бэк сейчас хуй найдешь, на всех Java вакансиях требуют фуллстек.
962773963076
#77 #962744
Напоминаю проёбанную шапку:
https://github.com/xxxwww/js-thread/blob/master/header.md
#78 #962773
>>962742

>У Кантора учебник написан для людей, знающих программирование (на других языках).



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

>Просто пиши больше кода - игры на Canvas, например.



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

>>962736
Ну HTML/CSS я немного знаю, сверстал один статический макет, другой адаптивный резиновый (правда достаточно простой). Правда пока учил этот JS уже забыл как верстать, лул.
110 Кб, 834x825
#79 #962783
Объясните плз эту херню. Короче переводя с языка Кантора, this объявленный вне функции (просто в свойство объекта) не получает ссылку на этот объект, поэтому this получает ссылку на window. В итоге свойство становится равно export: window , и тогда при вызове alert( user.export.firstName ); мы получаем alert(user.window.firstName); ? Т.е объект user в котором есть объект window и у которого есть свойство firstName, а т.к этого внутреннего объекта window нет, то получается undefined. Правильно логику работы расписал, не?
962793963003
#80 #962793
>>962783
this захватывается из контекста объявления, и т.к. это не функция, а глобальный скоуп, this ссылается на window.
#81 #962840
>>962736

>для работы надо знать новые модные фреймворки


Хуйню несешь, ангулара/эмбер+бэкбоун достаточно
962908
Dmitry #82 #962908
>>962840
В срачло засунь, сейчас React.
962918
#83 #962914
>>961365 (OP)
Сап аноны.
Есть список <ol> <li></li>...</ol>. Хочу чтобы каждый элемент окрашивался в зеленый цвет по очереди. То есть сначала верхний, через секунду чуть ниже, потом еще ниже и так до конца.
Я нашел функцию setTimeout, но она замедляет и потом окрашивает сразу все элементы сразу. Пробовал с циклом делать, все равно тоже самое.
https://jsbin.com/meguxehaso/edit?html,js,console,output
962941
#84 #962918
>>962908

>сейчас React


хуйца сосни, борщехлеб
#85 #962941
962993
#86 #962993
>>962941
Cпасибо анон, всего тебе доброго!
#87 #963003
>>962783

user переменная в контексте window. всё что не обернуто в функцию является по умолчанию свойством window
#88 #963076
>>962742
Поясни за лямбды, когда их использовать?
963158963201
#89 #963097
>>961365 (OP)

норм инструмент для визуализации джава кода, найти бы такой для ЖС... https://www.youtube.com/watch?v=yUTEGepKIxY
#90 #963158
>>963076
Лучше спроси, когда их НЕ использовать, в жс без них даже лаба1 не напишешь
Dmitry #91 #963201
>>963076
Всегда кроме generators, async function.
если имя ей нужно то делай const.
#92 #963222
Анончик, поясни за vk api

Нужно получить данные юзера
Пробовал с клиента через fetch
fetch('https://api.vk.com/method/users.getSubscriptions?user_id=111&v=5.63')
.then(res=> console.log(res));

Не работает.

Как это правильно делать?
963434
#93 #963239
>>962580
ты чего, я ебался с с/с++, python, java, потом наткнулся на js и охуел от того, насколько он изи
963329
#94 #963321
Все сюда https://t.me/jsthread
Хе-хей!
#95 #963329
>>963239
Ты не ебался с классми на js.
963433
#96 #963333
Блять, это наверное самая конченная глава(урок?) от Кантора - https://learn.javascript.ru/object-conversion . Нихуя нормально не объяснил, и какие-то задания вбрасывает, лул. Пойду "Выразительный Javascript" потыкаю, может там это как-то другим языком объяснят.
963467963468
#97 #963433
>>963329
в том-то и дело, что не ебался
#98 #963434
>>963222
а где твой access_token
#99 #963467
>>963333
На самом деле это книга немного нестандартная и искать в ней ЛУЧШЕГО объяснения я бы не стал. Там написано каким-то ебанутый языком обстракций, и лично для меня это было не в пользу ЛУЧШЕГО понимания сути, а как лишняя мешающая прослойка.
#100 #963468
>>963333

>Блять, это наверное самая конченная глава(урок?) от Кантора


Нет, ты просто баран. Ничего сложного там и в помине нет.
963750
#101 #963469
Подскажите что-то реально дельное из инфы по дебагингу. Я заебался консолеложить.
963478963500
#102 #963478
>>963469

>Подскажите что-то реально дельное из инфы по дебагингу


man тестирование
#103 #963500
>>963469
вкладка Source в chrome dev tools
963509
#104 #963509
>>963500
Ну это понятно, как юзать ее грамотно чтиво реквестирую
963514963523
#105 #963514
>>963509

>как юзать ее грамотно чтиво реквестирую


Как сходить посрать тоже книги читал?
963541
#106 #963523
>>963509
Открываешь на ютубчике любой толк Пола Айриша и внемлешь, попутно сожалея, что не так умен. Ну и там короче всё понятно становится. Дерзай.
#107 #963541
>>963514
Я тогда еще не умел читать, а вообще когда что-то не умеешь, то читать полезно как бы. Ты можешь думать, что понял инструмент протыкав его, но на деле так и не узнав половину функционала, ибо не прочитал.
963548963609
#108 #963548
>>963541
Маны гугла к твоим услугам.
А вообще, ты слишком хуево умеешь гуглить, чтобы тут разглагольствовать о чтении.
Иди почитай, как искать информацию в 21м веке самостоятельно.

Выходит, срать ты так и не научился, раз приходишь с такими идиотскими вопросами.
963570
#109 #963550
Посоны, сейчас вообще актуально понимать наследование через прототипы и мемную функцию extend Крокфорда?

Или это говно мамонта на которое все забили и спокойно пользуются классами из ES6 с нормальным наследованием?
963559963609963621
#110 #963559
>>963550

>Посоны, сейчас вообще актуально понимать наследование через прототипы и мемную функцию extend Крокфорда?



но под капотом классов все равно прототипы, так что желательно в паре предложений описать как они работают.
#111 #963570
>>963548
Маны гугла по-твоему не читать надо? Что бы не тратить время на поиск Аля гуглении хорошей, комплексной статьи я ее и реквестирую у тех, кто, возможно, уже искал и находил что-то годное. А тебе бы, раз ты научился срать, советовал не тратить время на написание постов типо: ну ты и мудак, такооое то не можешь, бляяя. Проще же не писать?
#112 #963600
Сап аноны, подскажите пожалуйста что не так с моим кодом.
Суть такова: хочу по нажатию на кнопку чтобы текст менял цвет. То есть если черный - то на зеленый, если зеленый - то на черный.

https://jsbin.com/gesiworaji/edit?html,js,console,output
963604963606
#113 #963604
>>963600
сравнение пропустил
963623
#114 #963606
>>963600
const color = tree.style.color;
tree.style.color = color === 'green' ? '': 'green';

Как-то так должно быть.
963623
#115 #963609
>>963550

>классами из ES6 с нормальным наследованием?


В js нет и не будет традиционных классов из java/c# и прочих языков.
>>963541

>когда что-то не умеешь, то читать полезно как бы


Ага, как сейчас помню - не умел я значит ручками перьевыми пользоваться. Потом взял в руки - и понял как оно работает. А еще яичницу готовить не умел, а там оказывается надо только яйца разбить да с солью и молоком взбить.
963610
#116 #963610
>>963609
Молоко-то нахуя.
963620
#117 #963620
>>963610
Делает омлет легким, пышным и нежным, не чета классическому итальянскому.
963622
#118 #963621
>>963550
У классов под капотом тот же самый поиск по цепочке прототипов через [[Get]]. Классы это просто более лучший синтаксис.

Советую пролистать спецификацию, чтобы в ней ориентироваться:
https://tc39.github.io/ecma262/

Потом читать Кайла Симпсона ( https://www.youtube.com/watch?v=2pL28CcEijU ) по порядку:
https://github.com/getify/You-Dont-Know-JS
В третьей книге "this & Object Prototypes" это всё разбирается.

Потом в спецификации, в которой ты уже ориентируешься, искать конкретные механизмы, чтобы понимать, что ты пишешь, а не какими буковками.
964044
#119 #963622
>>963620
Ну я бывает муки добавляю чуток для пышности, а молоко как-то хз даже. Надо будет попробовать.
963641
186 Кб, 570x760
#120 #963623
>>963604
>>963606
Спасибо аноны! Всего доброго вам!
#121 #963633
>>961365 (OP)
Вписал свое имя в автора emscripten

Feels good :D
963640963790
#122 #963638
Анон, смотри: у меня есть кнопочк с лайками. Юзер кликает на кнопочку с лайком, и она меняет цвет. Вопрос: как оптимальнее всего сохранить цвет кнопочки? Через запрос на сервер? Или же в локал сторадже каком-нибудь?
963641
#123 #963640
>>963633

>emscripten


Последний коммит Dec 24, 2016

Соси хуй лалка.
963647
#124 #963641
>>963622
Щепотку небольшую соды не забудь и прожаривай под закрытой крышкой, а лучше в духовке. Если правильно готовить - получится такой же пиздатый омлет, как в советских ресторанах.
>>963638

>сохранить цвет кнопочки?


Ты ебанутый? Тебе надо действия юзера сохранять, а не цвета и прочие свистоперделки.
963643963648
#125 #963643
>>963641
ну так каким образом? Я, допустим, могу сделать аякс-запрос на сервер, и в зависимости от ответа поменять цвет кнопочки. Можно хранить инфу о прожатии кнопочки в сессии, но сессия после логаута флашится, и в неё тоже не вариант.
963648963650
#126 #963647
>>963640

>Последний коммит Dec 24, 2016


Ты мастер смотрел? Ты ебанутый?
#127 #963648
>>963641
В духовке это в смысле вообще изначально ставить тарелку с субстанцией в духовку и там парить? Я бывало в микроволновке хуячил омлет, а в двуховке вообще не слыхал даже. Ты меня заинтриговал, прям с работы приду и заебашу.
>>963643
На сервере, всё на сервере. А ты как думал? У модели твоей есть же филд isLiked: bool, вот его и тоггли. Можешь использовать подход оптимистичных апдейтов, как все крутые ребята, тобишь ты отправляешь аякс на сервер, а сам между делом, не дожидаясь респонса, флипаешь в интерфейсе лайкед тру, уповая на то, что на сервере все пройдет гладко. Когда респонс возвращается, ты проверяешь, если статус ок, то ничего не надо делать, уже всё сделано. А если каким-то боком, что-то пошло не так, то в еррор хендлере флипаешь в интерфейсе обратно на лайкед фалс и сообщаешь об ошибке, ну или не сообщаешь. Тут уже от ситуации зависит.
963651963655
#128 #963650
>>963643

>ну так каким образом?


А это уже задача разработчиков приложения - продумать схему бд, как изменяющиеся данных хранить, что хранить, сколько и так далее
963651
#129 #963651
>>963650
Так я сам "разработчик" приложения. И бекенд пишу, и фронтенд.

>>963648
Окей, я понял, спасибо. В принципе, мног огуглил, но тоже пришел к такому решению. Двачик помог обрести мне уверенность.
#130 #963655
>>963648
Ну желательно какую-нибудь ёмкость побольше взять, обязательно закрытую, ибо омлет должен быть пышным в результате.
20 Кб, 615x233
#132 #963750
>>963468
Я бы тебе конечно мог подробнее объяснить чем именно плох этот урок от кантора и что в нём столько же абстракций как в выразительном JS, но мне реально просто лень. Чего стоит только то, что Кантор ЧЕТКО не говорит что эти медоты toString и ValueOf при написании становятся какими-то служебными и язык начинает использовать их при преобразовании объекта в примитив, ну ладно, это ещё можно понять самому. А вот КАК именно происходит это преобразование, автор почему не не описывает, тут уже я наверное должен свое воображение подрубать. Почему автор приводит примеры только тех объектов, в которых одно свойство (кроме методы), а как будет работать если их там несколько? И как вообще происходит алгоритм работы, инфы просто ноль...
963798
29 Кб, 638x359
#133 #963790
>>963633

>emscripten



с подключением)
#134 #963798
>>963750
Але блин

[object Object] по дефолту
А когда переобозначишь то будет так, как переобозначишь

мимо
963801
#135 #963801
>>963798
Ну и почему оно так работает? При этом с массив такой хуйни нет (автор об этом не говорит).
963807
#136 #963804
Сап анон, как вкатиться в фриланс жс джуны.
#137 #963807
>>963801
Потому что по умолчанию для объектов это так работает. И у него так прям и написано.

А у массива просто переопределено то, как должно выводиться. И тебе в главе показано как можно самому переопределить если тебе это нужно/интересно.
963810
#138 #963810
>>963807
Ну а если в объекте несколько свойств, то как это будет работать? Почему оно вообще работает если функция возвращает только одно из свойств объекта на наш выбор (в коде функцией возвращается только firstName). Оно как-то само понимает и применяет это ко все остальным свойствам или что?
963818
#139 #963818
>>963810
Ну там же по русски написано. По умолчанию для любого объекта будет [object Object]
а когда ты сам пропишешь собственный toString
то будет выполняться он

и что ты туда загонишь - то и будет выдавать
можешь возвращать для объекта
"идите в жопу" вот он и будет выдавать "идите в жопу"

http://jsbin.com/gefotodane/edit?js,console

Ну бля ну читай внимательней
963881
#140 #963881
>>963818
Что именно я должен внимательно читать?
Написано:

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



Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива? А также на предыдущий ответ о том как в принципе работает этот метод - ответа нет. Также как и о том как будет работать если в объекте несколько свойств, если возвращать только одно, то какой в этом смысл, вернется только fullName, а с остальными свойствами что будет, где об этом инфа?
963891
#141 #963891
>>963881
Ты по ссылке перешел?

> Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива?


WAT?

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



вот мы и делаем этот метод toString в котором возвращаем примитив - строку.

Тебе же пример в учебнике написали, в котором Кантор решил вернуть свойство если будет строковое преобразование. Вернуть одно свойство - это его собственное решение. Как по ссылке выше наше собственное решение выводить "идите в жопу" если будет строковое преобразование.
Нам хочется чтобы этот объект вместо стандартного [object Object] виделся именно так: "идите в жопу", а Кантору захотелось чтобы выводилось fullName в его объекте

> а с остальными свойствами что будет?


Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.
963904963927964019
63 Кб, 445x372
this just in #142 #963892
https://github.com/fuse-box/fuse-box
Вебпак уже не нужен.
Потянул смузи

>FuseBox 0.234s


>Webpack 1.376s


Сходил на митап

>Simple example using React with babel (compiles in 50ms!)


Портанул проект на yarn
Каковы ваши оправдения не использования фьюзбокса в 2017 A. D, старичьё?
#143 #963904
>>963891
Ему так захотелось, при этом он не упоминает что можно и по другому сделать.

>Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.



Ну вот этого тоже я не знал потому что инфы в уроке не было.
#144 #963914
Ребят,такая проблема: спиздил аудиоплеер и теперь нихера не могу понять,как мне сделать так,чтобы звук устанавливался для каждого объекта(песни).При включении какой-либо песни,а потом переключения на другую ползунок идёт только у той,которая добавлялась последняя
Что в странице с аудиозаписями:
<div class="audios_list">
<div class="player">
<?
$result = mysql_query("SELECT FROM `audios` WHERE u_id = ".$id." ORDER BY id DESC");
while($row = mysql_fetch_array($result)) {
$author = $row['author'];
$song = $row['song'];
$path = $row['path'];
$u_id = $row['u_id'];
$a_id = $row['id'];
?>
<audio id="<?echo$a_id;?>" ontimeupdate="updateTime()">
<source src="/user/audios/<?echo$path;?>" type="audio/mp3">
</audio>
<div id="songPlay" onclick="play('<?echo$a_id;?>')"></div>
<div id="songPause" onclick="pause()"></div>
<div id="songPlayPause" onclick="playPause('<?echo$a_id;?>')"></div>
<div id="songTime">0:00 / 0:00</div>
<div id="songName"><b><?echo$author;?></b> - <?echo$song;?></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
<div id="volumeMeter" onclick="setNewVolume(this,event)"><div id="volumeStatus"></div></div>
</div>
<?}?>
</div>


Что в файле .js:
$(document).ready(function() {
$(function(){
var activeSong;
//Plays the song. Just pass the id of the audio element.
function play(id){
//Sets the active song to the song being played. All other functions depend on this.
activeSong = document.getElementById(id);
//Plays the song defined in the audio tag.
activeSong.play();

//Calculates the starting percentage of the song.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeMeter = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

//Fills out the volume status bar.
document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Pauses the active song.
function pause(){
activeSong.pause();
}
//Does a switch of the play/pause with one button.
function playPause(id){
//Sets the active song since one of the functions could be play.
activeSong = document.getElementById(id);
//Checks to see if the song is paused, if it is, play it from where it left off otherwise pause it.
if (activeSong.paused){
activeSong.play();
}else{
activeSong.pause();
}
}

//Updates the current time function so it reflects where the user is in the song.
//This function is called whenever the time is updated. This keeps the visual in sync with the actual time.
function updateTime(){
var currentSeconds = (Math.floor(activeSong.currentTime % 60) < 10 ? '0' : '') + Math.floor(activeSong.currentTime % 60);
var currentMinutes = Math.floor(activeSong.currentTime / 60);
//Sets the current song location compared to the song duration.
document.getElementById('songTime').innerHTML = currentMinutes + ":" + currentSeconds + ' / ' + Math.floor(activeSong.duration / 60) + ":" + (Math.floor(activeSong.duration % 60) < 10 ? '0' : '') + Math.floor(activeSong.duration % 60);

//Fills out the slider with the appropriate position.
var percentageOfSong = (activeSong.currentTime/activeSong.duration);
var percentageOfSlider = document.getElementById('songSlider').offsetWidth percentageOfSong;

//Updates the track progress div.
document.getElementById('trackProgress').style.width = Math.round(percentageOfSlider) + "px";
}
function volumeUpdate(number){
//Updates the volume of the track to a certain number.
activeSong.volume = number / 100;
}
//Changes the volume up or down a specific number
function changeVolume(number, direction){
//Checks to see if the volume is at zero, if so it doesn't go any further.
if(activeSong.volume >= 0 && direction == "down"){
activeSong.volume = activeSong.volume - (number / 100);
}
//Checks to see if the volume is at one, if so it doesn't go any higher.
if(activeSong.volume <= 1 && direction == "up"){
activeSong.volume = activeSong.volume + (number / 100);
}

//Finds the percentage of the volume and sets the volume meter accordingly.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Sets the location of the song based off of the percentage of the slider clicked.
function setLocation(percentage){
activeSong.currentTime = activeSong.duration percentage;
}
/

Gets the percentage of the click on the slider to set the song position accordingly.
Source for Object event and offset: http://website-engineering.blogspot.com/2011/04/get-x-y-coordinates-relative-to-div-on.html
/
function setSongPosition(obj,e){
//Gets the offset from the left so it gets the exact location.
var songSliderWidth = obj.offsetWidth;
var evtobj=window.event? event : e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/songSliderWidth);
//Sets the song location with the percentage.
setLocation(percentage);
}

//Set's volume as a percentage of total volume based off of user click.
function setVolume(percentage){
activeSong.volume = percentage;

var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}

//Set's new volume id based off of the click on the volume bar.
function setNewVolume(obj,e){
var volumeSliderWidth = obj.offsetWidth;
var evtobj = window.event? event: e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/volumeSliderWidth);
setVolume(percentage);
}
//Stop song by setting the current time to 0 and pausing the song.
function stopSong(){
activeSong.currentTime = 0;
activeSong.pause();
}
});
});
#144 #963914
Ребят,такая проблема: спиздил аудиоплеер и теперь нихера не могу понять,как мне сделать так,чтобы звук устанавливался для каждого объекта(песни).При включении какой-либо песни,а потом переключения на другую ползунок идёт только у той,которая добавлялась последняя
Что в странице с аудиозаписями:
<div class="audios_list">
<div class="player">
<?
$result = mysql_query("SELECT FROM `audios` WHERE u_id = ".$id." ORDER BY id DESC");
while($row = mysql_fetch_array($result)) {
$author = $row['author'];
$song = $row['song'];
$path = $row['path'];
$u_id = $row['u_id'];
$a_id = $row['id'];
?>
<audio id="<?echo$a_id;?>" ontimeupdate="updateTime()">
<source src="/user/audios/<?echo$path;?>" type="audio/mp3">
</audio>
<div id="songPlay" onclick="play('<?echo$a_id;?>')"></div>
<div id="songPause" onclick="pause()"></div>
<div id="songPlayPause" onclick="playPause('<?echo$a_id;?>')"></div>
<div id="songTime">0:00 / 0:00</div>
<div id="songName"><b><?echo$author;?></b> - <?echo$song;?></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
<div id="volumeMeter" onclick="setNewVolume(this,event)"><div id="volumeStatus"></div></div>
</div>
<?}?>
</div>


Что в файле .js:
$(document).ready(function() {
$(function(){
var activeSong;
//Plays the song. Just pass the id of the audio element.
function play(id){
//Sets the active song to the song being played. All other functions depend on this.
activeSong = document.getElementById(id);
//Plays the song defined in the audio tag.
activeSong.play();

//Calculates the starting percentage of the song.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeMeter = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

//Fills out the volume status bar.
document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Pauses the active song.
function pause(){
activeSong.pause();
}
//Does a switch of the play/pause with one button.
function playPause(id){
//Sets the active song since one of the functions could be play.
activeSong = document.getElementById(id);
//Checks to see if the song is paused, if it is, play it from where it left off otherwise pause it.
if (activeSong.paused){
activeSong.play();
}else{
activeSong.pause();
}
}

//Updates the current time function so it reflects where the user is in the song.
//This function is called whenever the time is updated. This keeps the visual in sync with the actual time.
function updateTime(){
var currentSeconds = (Math.floor(activeSong.currentTime % 60) < 10 ? '0' : '') + Math.floor(activeSong.currentTime % 60);
var currentMinutes = Math.floor(activeSong.currentTime / 60);
//Sets the current song location compared to the song duration.
document.getElementById('songTime').innerHTML = currentMinutes + ":" + currentSeconds + ' / ' + Math.floor(activeSong.duration / 60) + ":" + (Math.floor(activeSong.duration % 60) < 10 ? '0' : '') + Math.floor(activeSong.duration % 60);

//Fills out the slider with the appropriate position.
var percentageOfSong = (activeSong.currentTime/activeSong.duration);
var percentageOfSlider = document.getElementById('songSlider').offsetWidth percentageOfSong;

//Updates the track progress div.
document.getElementById('trackProgress').style.width = Math.round(percentageOfSlider) + "px";
}
function volumeUpdate(number){
//Updates the volume of the track to a certain number.
activeSong.volume = number / 100;
}
//Changes the volume up or down a specific number
function changeVolume(number, direction){
//Checks to see if the volume is at zero, if so it doesn't go any further.
if(activeSong.volume >= 0 && direction == "down"){
activeSong.volume = activeSong.volume - (number / 100);
}
//Checks to see if the volume is at one, if so it doesn't go any higher.
if(activeSong.volume <= 1 && direction == "up"){
activeSong.volume = activeSong.volume + (number / 100);
}

//Finds the percentage of the volume and sets the volume meter accordingly.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Sets the location of the song based off of the percentage of the slider clicked.
function setLocation(percentage){
activeSong.currentTime = activeSong.duration percentage;
}
/

Gets the percentage of the click on the slider to set the song position accordingly.
Source for Object event and offset: http://website-engineering.blogspot.com/2011/04/get-x-y-coordinates-relative-to-div-on.html
/
function setSongPosition(obj,e){
//Gets the offset from the left so it gets the exact location.
var songSliderWidth = obj.offsetWidth;
var evtobj=window.event? event : e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/songSliderWidth);
//Sets the song location with the percentage.
setLocation(percentage);
}

//Set's volume as a percentage of total volume based off of user click.
function setVolume(percentage){
activeSong.volume = percentage;

var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth
percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}

//Set's new volume id based off of the click on the volume bar.
function setNewVolume(obj,e){
var volumeSliderWidth = obj.offsetWidth;
var evtobj = window.event? event: e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/volumeSliderWidth);
setVolume(percentage);
}
//Stop song by setting the current time to 0 and pausing the song.
function stopSong(){
activeSong.currentTime = 0;
activeSong.pause();
}
});
});
963915963982965097
#145 #963915
>>963914
suka polzuisya jsfidllom ili drugoy hyiney, bleat
#146 #963927
>>963891
Я вот сейчас видео-урок от кантора открыл по этой теме и там он прямо охуенно рассказал. Даже сказал что toString можно привязать к функции (вне объекта, просто функция) и он с ней будет работать точно также.
964046
45 Кб, 927x647
#147 #963931
Котаны, нужен ваш совет. До недавних пор писал исключительно бекэнд, а тут внезапно потребовалось педалить ещё и фронт. Какую книгу/цикл статей можете посоветовать, чтобы в сжатые сроки уложить в голове кашу из жс, ангуляра и рактива? Сейчас каждый фикс превращается в жопную боль на весь день, потому что нет понимания, что и как там работает.
965001
#148 #963982
>>963914
ну ты и програмист ебать мой хуй .......
#149 #964019
>>963891
https://learn.javascript.ru/constructor-new - лол, вот ещё одно подобие охуенной статьи. Сначала автор говорит что можно СОЗДАВАТЬ объекты через new. А теперь он сразу начинает работать с ВЫЗОВОМ функции через new. Как это работает я видимо должен сам додумать...
964044964046
#150 #964044
>>964019

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


Ну конечно же нет, птенчик, не для того тебя мамка растила. Илюша должен был догадаться всё тщательно разжевать и в ебальце тебе отрыгнуть, плохой Илюша.
Как закончишь листать Кантора, пиздуй сюда:
>>963621
964086
#151 #964046
>>963927
>>964019
Открою маленькую тайну - функция это тоже объект
И при вызове через new она не поверишь, но тоже возвращает объект. Таким образом она СОЗДАЕТ объект через new.
И да, все это написано у него в учебнике, просто научись вдумываться в то, что написано - полезный навык. А не сидеть и рассказывать что тебе не доходит то, что до других дошло. Как жеж так, видимо всемирный заговор, не иначе.
#152 #964048
Кроме жирного жирного гуру Кайла никто больше по хардкору за язык не поясняет на видео. Советую пройти на рутрекер и качнуть оттуда все его разговорчики с frontend masters.
#153 #964082
Где шапка где литература
964085
#154 #964085
#155 #964086
>>964044

>Как закончишь листать Кантора, пиздуй нахуй


пофиксил
#156 #964095
Посантрэ, кто в редаксе волочет, секи сюды!
Вопрос такой, если у меня приложение использует комбайн редьюсерс и экшен креаторы лежат по разным файлам как согласно бест практис вызвать экшен креатор из файла2 в экшен креаторе 1 из файла1? На ум лезет банальное импортирование и вызов, но уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет. Кто подскажет?
964110964446
#157 #964110
>>964095

>уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет


Перечитать религия не позволяет?
964192
#158 #964192
>>964110
Ебанфал нахуй? Всю доку перечитать? Откуда этот припездок здесь взялся? Попросите-с его нахуй, пожалуйста. Видимо какой-то обиженный непрвозмог, ныне грузчик, теперь срет в треде.
964199964405
#159 #964199
>>964192

>Всю доку перечитать?


Удачи.
#160 #964405
>>964192

>Всю доку перечитать?


Любитель саморазвиваться по видосикам, ты?
#161 #964446
>>964095
store.dispatch(action)
964714
#162 #964512
суп. Есть короче класс MobileDetecter который использует https://hgoebl.github.io/mobile-detect.js/
и помимо свойства this.md = new mobile-detect(navigator.userAgent)
делает свойство this.isMobile = this.md.mobile();
как считаете, насколько это плохая идея не использовать в потомках this.md.mobile() а юзать для проверок this.isMobile() ? Что уже не является библиотечным методом к которому все привыкли. За такое в офисе мне не наебашили бы ?
#163 #964714
>>964446
Ну я так и делаю - импорт нужного экшенКреатора и диспатч его из стора. Просто думал оптимальный ли это подход.
965295
#164 #964912
стоит ли на гитхаб заливать решенные задачки с жс30?
964991
#165 #964915
Подскажите в чем разница межу калбэками и промайзами? У них же принцип вроде одинаковый. А что из них лучше?
Например:
function atas() { blabla; huyhuy; }

Kалбэк:
suka(atas);

Промайз:
var yo = suka();
yo.then(atas);
964921965096965583
255 Кб, 512x512
#166 #964921
>>964915

> принцип вроде одинаковый

965064
#167 #964972
Что по basis.js ?
#168 #964991
>>964912
Кипятка себе в жопу залей чепушила.
964995
#169 #964995
>>964991
джвачую
Dmitry #170 #965001
>>963931
Для начала ваниллу осиль.
JavaScript Add Sparcle and Life to your web pages.
#171 #965064
>>964921
Ну объясни плиз, мы же люди.
#172 #965096
>>964915
Если функция асинхронная, то твой колбэк вызовется в случайный момент времени и поломает код, в то время как промис вызовет следующую функцию тогда и только тогда, когда выполнится предыдущая.
#173 #965097
>>963914
Больше так не делай.
#174 #965226
подскожите плз компилятор для жс
965229965391965884
#175 #965229
>>965226
Internet Explorer
#176 #965295
>>964714
да я сам хз, в любом уроке по редуксу такой способ указан, но бля, большинство этих уроков просто юзлесс.

пишешь такую конструкцию
import { bindActionCreators } from 'redux';
import * as экшн from '../actions/autocompleteActions';

function mapDispatchToProps(dispatch) {
return {
экшн: bindActionCreators(экшн, dispatch)
};
}

и теперь в компоненте можешь получить его через пропсы
let экшн = { ...this.props.экшн};

Вот так вроде, может кто поправит, если ошибся
965296
#177 #965296
>>965295
import * as экшн from '../actions/экшн';
#178 #965345
Поясните, зачем фронтендеру реакт и редакс?
Я тут на ангуляр перешел, так он хорош только повторяющиеся списке из жс вызывать, сокращая разметку и то неизвестно, как это совмещать со списками, формирующимися из бд.
965354965385
#180 #965385
>>965345
аякс для этого и придумали
965409
#181 #965391
>>965226

лол, смотрел сейчас про ЖС, его создатель отписался в комменте https://www.techworm.net/2017/03/webassembly-replacing-javascript.html#comment-182273

лол смотрел компилятор для ЖС в ВАСМ, нашел каммент создателя языка https://www.techworm.net/2017/03/webassembly-replacing-javascript.html#comment-182273

его блог https://brendaneich.com/

как тесен мир однако
965394965395
#182 #965394
>>965391

*первый коммент был для скайпика
#183 #965395
>>965391

>его создатель


Хуйню написал, он один из чуваков, кто дизайнил то говно, от которого стараются сейчас избавиться.
965397
#184 #965397
>>965395

угу, так стараются, что спека ecmascript 6 уже овер 700 страниц, против 250 первоначальных
965398
#185 #965398
>>965397

>ecmascript 6 уже овер 700 страниц, против 250 первоначальных


так эта хуйня и будет расти
добавляют всякий функциональный сахар, сохраняя всякое легаси в стандарте
хоть что-нибудь оттуда выкинули? нет
965401
#186 #965401
>>965398

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

сжатый обзор синтакса ЖС, может кому пригодится https://en.wikipedia.org/wiki/JavaScript_syntax
#187 #965409
>>965385
А как из пхп контроллера передать данные в жс скрипт да еще и аяксом, маня?
965412
255 Кб, 512x512
#188 #965412
>>965409

>как из пхп контроллера передать данные в жс скрипт да еще и аяксом


>маня

965426
#189 #965426
>>965412
Вот я тебя и спрашиваю как, еблан тупой, если эти данные из ангуляра передаются. Каким образом я их из сервера передам списком в жс скрипт. Еблан туопй, все жаваскритпчики обмазывающиеся своими еба фреймворками - ебланы тупые, их фреймворки только костыли плодят.
965435965441
#190 #965435
>>965426
К тебе приходит запрос. Ты его обрабатываешь и выдаешь ответ в виде json.
Все, клиент его обрабатывает и рисует своим еба-фреймворком то, что ему надо отрисовать.

мимо
#191 #965441
>>965426
Отец твой, еблан тупой, животное. Заебали вы со своими маня, ну такое и прочими фразами вырожденцев, деревенщины залетные.
Нахуй пошел.
Подумай головой хоть раз, как у тебя вообще сервер и приложение за прокси=сервером обрабатывает запросы с клиента.
965443
#192 #965443
>>965441
Пиздец, блять, еще и ошибок дохуя нагородил.
#193 #965452
Ебать ты даун, ты вообще знаешь, что такое ангуляр и для чего его используют?
131 Кб, 850x1080
#194 #965530
Подскажите хайповый бекенд под хайповый Vue js
965533965545
195 Кб, 1280x1024
#195 #965531
>>961365 (OP)
охуенную игру я придумал:
я вам кидаю код, который мне кажется, я написал как индус, объясняю чего я добивался, а вы мне говорите как мне его изменить. А то мне чет тошно на него смотреть

короче есть SPA и на нем есть страница с работами, html для которых генерится из jade файла
так вот
в целях сео, заказчик попросил страницы с работами разбить на отдельные как то walls.html/floor.html/bathroom.html
я не долго думаю запилил проверялку location и в зависимости от ее содержимого передаю jade файлу не все работы а только нужные на данной странице ( все если на главной )

кто нить может подкинуть идей как сделать метод createTemplate посимпотишнее ?
965535
#196 #965533
>>965530
go(Revel), elixir(феникс)
965545
#197 #965535
>>965531
алсо 40я строка тоже подбешивает, буду благодарен за более интересное решение
#198 #965545
>>965530
Ах да, забыл добавить, желательно, чтобы бекенд фреймворк был прост и в то же время эффективен, как и сам Vue.
>>965533
Говорят Го прост в изучении, но все же предпочтителен JS бекенд. Или js на бекенде все не лучшая идея?
965547965557965848
#199 #965547
#200 #965557
>>965545
А ну тогда не в курсе, на js нормально бэкенд, нода быстрее остальных скриптовых языков, как я слышал.
965885
#201 #965583
>>964915

>Подскажите в чем разница межу калбэками и промайзами?


Промис - попытка сделать сделать работу с асинхронным кодом (колбеками) похожей на синхронный код.
Использование промисов предотвращает callback hell, делает асинхронный код читабельным, дает возможность обработки ошибок в catch.
Развитие идеи промисов - генераторы и async/await.
47 Кб, 783x734
#202 #965671
>>961365 (OP)
аноны, смотрите какой я красивый и работающий код написал

нюфак
965697
#203 #965697
>>965671
Ты умудрился даже в html-разметке накосячить. Как можно быть таким дауном?
965704
47 Кб, 782x736
#204 #965704
>>965697
проиграл со своей невнимательности и тупизны.
не стукайте пожалуйста, я только учусь
965707965721
#205 #965707
>>965704
хотя нет, стукать иногда полезно, но не сильно.
47 Кб, 783x738
#206 #965721
966077966199
#207 #965836
>>961365 (OP)
Как асинхронно загрузить файл из формы на сервер? Гугл выдаёт много всего, но в основном не то,либо я как-то не так спрашиваю.
965876
#208 #965848
#209 #965876
>>965836
2 ссылка, пидор ленивый
http://pogugli.com/?154230
Dmitry #210 #965884
>>965226
Компилятора в вебасм вроде нет, и не должно быть, и реализовать такое очень сложно, а работать оно будет все равнот медленей того что собирали из C.
Dmitry #211 #965885
>>965557
Но меденнее джавы И намного медленнее го.
965991
53 Кб, 1000x728
#212 #965991
>>965885

>И намного медленнее го



бутылочное горлышко

хуле толку от хело вордов, когда в стеке нужно работать с БД?
#213 #966038
Посоны, не встречал ли кто-нибудь редактор сплайнов, ну и векторное 3д в общем?

по-типу вот этого https://threejs.org/examples/webgl_geometry_spline_editor.html

только чтобы на каждый поинт был контрол кривизны, снапы, и прочее как в 2д векторках.
#214 #966077
>>965721
чеэт за плюсики в алерте янепонил
967545
30 Кб, 475x334
#215 #966170
Кто-нибудь может доступным языком объяснить что такое статические/фабричные методы и для чего они нужны? Зачем вне функции добавлять в её объект свойства? Читал Кантора, нихуя не понял, он как-то слишком резко темы переводит и по какой-то причине считает что ученик должен улавливать его различные не очевидные порывы в заданиях и объяснениях.

Не пойму например почему count передаваемый объекту функции не обновляется при её вызове? Т.е если мы извне функции назначаем в её объект свойство, то на него не влияют повторные вызовы и оно не переназначается?
966178966287
#216 #966178
>>966170
Count висит грубо говопя на функции, точнее на конструкторе, т.к. фкнкция Article является конструктором, о чем говорит то, что она с большой буквы начинается.
Count вынесен на конструктор, а не в него, потому что количество статей не относится к какой-то отдельной статье.
Когда мы создаем экземпляр (вызываем через new) количество увеличивается на один
При showcount просто его выводим.

Не бугурть на Кантора, вникай сиди лучше.
966212
#217 #966199
>>965721
почему не через рекрусии?
967545
30 Кб, 422x341
#218 #966212
>>966178
Ну так и нахуй это надо? Просто чтобы создать независимую переменную которая не обнуляется при повторном запуске функции?

Я тут пытался понять и вспомнить как работают функции. Т.е значения в их объект можно записать извне, но при этом нельзя извне как-то вызвать? Зато если этот func.value присвоить вне функции, то он будет читаться и в функции, и вне её. Как это понять вообще?
966223966229966233
#219 #966223
>>966212
сколько ты уже изучаешь жс?
966235
#220 #966229
>>966212
Перемести вызов функ перед алерт. Посмотри че будет.
966235
#221 #966233
>>966212
если провести аналогию с твоим кодом, то ты сначала посрал, потом зашел в туалет, потом сел на унитаз, потом снял штаны
966247
#222 #966235
>>966223
Пару недель мб.

>>966229
Кк понял. А почему записывая func.value я потом просто не могу получить переменную написав просто value? Т.е func.value записывается в какой-то другой объект, а не в объект лексического окружения?
966241966247
19 Кб, 270x170
#223 #966241
>>966235

>Пару недель

#224 #966247
>>966235
Нет, не понял.
Вот этот чувак норм написал >>966233 хорошая аналогия.
Пока ты не вызвал функ у тебя ничего никуда не присвоилось. А ты хочешь что-то взять. Как можно взять то, чего нет? Никак. Поэтому у тебя андефайнд.
Я спать, если будут вопросы завтра может отвечу

А в
966266
11 Кб, 241x203
#225 #966250
Почему без this не работает, ведь value находится внутри объекта?
#226 #966251
>>966250
у функции свой скоуп, оторванный от объекта и что такое вэлью функции невдомёк
#227 #966252
>>966250
А почему по-твоему должна?
У тебя нигде не определена переменная value
а внутри объекта у тебя не переменная, а его поле.
966255966269
#228 #966255
>>966252

>А почему по-твоему должна?


Потому что value это переменная.
966281
#229 #966258
>>966250
ну и что что внутри, сука ебаная. через точку нужно обращаться к кею.
966263
255 Кб, 512x512
#230 #966260
#231 #966263
>>966258
По логике функция должна видеть value, как в других нормальных языках.
966264966278
#232 #966264
>>966263
Не должна
966268966269
29 Кб, 453x312
30 Кб, 475x334
#233 #966266
>>966247
Т.е если мы извне назначаем объекту функции свойство, то оно доступно и без её вызова? Суть такого назначения в том чтобы это свойство привязывалось к функции и при повторном её вызове никак не изменялось? Ну если напрямую в функции назначить Article.value = 0, то при каждом вызове функции значение бы сбрасывалось в 0, а при таком внешнем назначении оно остается таким же каким было на момент предыдущего запуска функции. Раньше вроде бы подобные переменные (в уроках Кантора) создавались при работе одной внешней функции, в которой записывались подобные "неизменяемые" переменные и другой внутренней функцией, которая как раз эти переменные использовала.

А вот с методами я чет уже не понял совсем. Зачем их делать статическими. Код на первом и втором пике вроде работает одинаково и выдает один и тот же результат. Т.е нафига записывать метод в функцию извне если он итак будет работать?

Возможно я опять нихуя неправильно всё понял. Но что-то совсем запутался с этими функциями, замыканиями и тем как работают функции. Хотя вроде только совсем недавно делал по задания и читал темы, всё было понятно.
966429966481966482
9 Кб, 245x157
#234 #966268
>>966264
А о так она видит, почему в объекте не видит, ведь value находятся в одном поле видимости.
966271966273
#235 #966269
>>966264
>>966252

Почему когда мы в общем коде напишем value = 5 и это будет считаться свойством глобального объекта window, то мы можем вызывать этот value без window.value , а когда в обычной функции (которая такой же объект) мы этого делать не можем?
966272966274
#236 #966271
>>966268

>value находятся в одном поле видимости


нет
#237 #966272
>>966269

>которая такой же объект


Не такой же.
Глобальный объект - это глбоальный объект.
И не везде глобальным объектом является window
966282
#238 #966273
>>966268

валью в объекте - это поле этого объекта, к полю нужно обращаться через точку. тебе же уже выше это сказали, что тупишь?
966276
#239 #966274
>>966269
ну попробуй написать let value = 5
а потом найти его в своем глобальном объекте.
#240 #966276
>>966273
он не видит разницы между пропертью и переменой в глобальном скопе. и не может понять, что глобальный скоуп(как и любой другой) это тоже объект.
966289
#241 #966278
>>966263
Не лез бы ты в программирование, с такой логикой.
966289
#242 #966281
>>966255
Нет, не переменная. У тебя она поле объекта.
29 Кб, 754x262
#243 #966282
>>966272
Ну я вот вопрос выше задавал. Т.е у функции 2 объекта в которые она записывает свои значения или че? 1 - это лексическое окружение (LexicalEnvironment) в которые попадают все переменные. 2 - это просто объект которому можно задать свойство. ?
966284966286966290
#244 #966284
>>966282
Чувак, начни с компьютер саенс, сириесли.
966294
198 Кб, 1080x1080
#245 #966285
Как защитить шиндоус от засирания, да и вообще как-то организовать всё?
Ставил scoop. Удобненько отсортировалось, но yarn всё равно вылез за пределы и серанул в папку пользователя.
Веб приложения это вообще пиздец. Поставил vs code,hyperjs, да и вообще что-то посмотреть, так они постоянно всё засирают в папке юзера, создавая свои файлы и папочки для зависимых пакетов и т.д. Можно это вот всё чтобы лежало по своим отдельным папкам?
#246 #966286
>>966282
func.value у тебя поле объекта func
ты к нему обращаешься по имени функции.
будь у тебя функиця анонимная ты к нему не обрашись.

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

еще есть контекст this

Я не знаю, где ты там изучаешь язык. Но изучаешь ты его как-то через жопу.
966288966294966309
#248 #966288
>>966286

> вплоть до глобальной области видимости.

12 Кб, 404x134
#249 #966289
>>966276
>>966278

Справедливости ради в window всё работает и вызывается. А в внутренней переменной которая тоже объект - нужно вызывать только через точку? Какое отношение к этому имеет логика, если по логике и то и другое должно работать одинаково ибо это объекты.
Но челик выше сказал что глобальный объект он немного другой, поэтому через него это возможно. Ну ок, тогда вопросов нет.
966292
#250 #966290
>>966282

>Т.е у функции 2 объекта


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

А this - это контекст. Контекстом может быть вообще любой объект в разное время, смотря как ты вызовешь и смотря какая у тебя функция.
966295
#251 #966292
>>966289
Ты свой пример перепеши с let а не var, и увидишь, что ничего у тебя не работает.
966295
#252 #966294
>>966284
>>966286

Так четкий ответ будет, не? Лексическое окружение это один объект в который записываются переменные. А при назначении через func.value = 5 мы просто назначаем в свойство объекта func значение?

>лексическое окружение - это лексическое окружение.


Ну т.е это как бы другой объект, правильно?
#253 #966295
>>966290
Я не тот анон который спрашивал про this. Мне другое интересно.

>>966292
Я не знаю что такое let
#254 #966298
Т.е грубо говоря функция при создании создает в своем объекте свойство LexicalEnvironment: {} - у которого значение это другой объект в который уже записываются переменные функции.
Когда мы вызываем func.value то обращаемся к объекту функции, а не внутреннему объекту, поэтому это по сути разные 2 объекта, один в другом.
966302966311
#255 #966302
>>966298
нет.
966306
#256 #966306
>>966302
Ну тогда может кто-то расскажет чем отличается LexicalEnvironment от основного объекта функции?
966309
#257 #966309
>>966306
Тебе уже тут все сказали >>966286
и еще несколько раз выше тоже все пояснили
ты или отказываешься понимать, или дурак.
извини.
966313
#258 #966311
>>966298
Лексические окружения вложены друг в друга до глобальной области видимости, и ни какого отношения ни к каким другим объектам не имеют. Ты слишком тугой.
966318
#259 #966312
вы понимаете... вары они до инвокинга в памяти...
#260 #966313
>>966309
Четкого ответа так и не было.

>лексическое окружение - это лексическое окруение


Охуенное объяснение. Лексическое окружение это объект в который записываются локальные переменные, аргументы (так написано у кантора).

Но записывая func.value = 5 , то чем является это свойство value? Свойством объекта лексического окружения или просто свойством объекта функции?
966317
#261 #966317
>>966313

>Охуенное объяснение


Тебе до конца строки пояснение прочитать религия мешает?

Короче, ты заебал.
966321
22 Кб, 694x185
#262 #966318
>>966311
Ну если ты не тугой, где находятся эти лексические окружения?
Лексического окружение это объект который создает для себя каждая функция, понимаешь?
966320966326
#263 #966320
>>966318
Это ты не понимаешь иерархию этих окружений.
Ты блядь дурак. Просто дурак.
#264 #966321
>>966317

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



Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"

>наследуется вверх


По моему челик даже сам не уверен разбирается он в этом или нет. Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта "уровнем" выше. У функции ссылка (скоуп) на объект window. У внутренней функции объект на внешнюю и так далее.
Где ты здесь увидел ответ на мой вопрос я даже не ебу.
966328966331966342
197 Кб, 825x395
#265 #966326
#266 #966328
>>966321

> на объект window


Ты хоть понимаешь, что может не быть никакого объекта window?
Понимаешь, что глобальным объектом может быть совершенно любой объект, и его еще можно поменять?
#267 #966331
>>966321

>Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта


Дебил блядь ебаный. Это и есть наследование.
ДЕЛЕГИРОВАНИЕМ.

Идин нахуй отсюда просто.
#268 #966342
>>966321

>Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"


Ты болен чем-то?
Тебе пятнадцать раз сказали - это разные объекты, они ничем не схожи. Объект функции - это блядь сама функция. Она и есть объект сама по себе. Лексические окружения - это окружения блядь, вложенные друг в друга иерархией. Если тебе не нравится пояснение, что симаская кошка - это такая кошка, то проследуй решительно нахуй. Объяснять тебе азы никто не обязан. А если ты настолько идиот, что не сумел за все это время нагуглить ответы на свои глупые вопросы, то я не понимаю, что ты до сих пор пытаешься тут изучить. У тебя нет будущего в этой сфере. У тебя все очень плохо с абстракциями.

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

Тебе все пояснили. Не единожды.
487 Кб, 800x533
#269 #966357

>Lexical Environment



как можно тут что-то не понимать? http://es5.github.io/#x10.2
966359
#270 #966359
>>966357
че, англичанин дохуя, мож выйдем пойдем?!
966362
#271 #966362
>>966359

кому ты нужен, Маня. можешь забыть без ангельского изучения ЖС.
966374
#272 #966374
>>966362
щенок)
#273 #966423
Короче, аноны, сегодня получил работу - фронтенд джуниор, выхожу через неделю. Но суть в том, что собес я прошел неплохо, но на деле просто спрашивали довольно банальные вещи, типа замыканий, прототипов, етк. Так вот, дело в том, что я js изучаю ну от силы месяца 3-4. Ничего серьезного не писал и толком то не умею даже вебпаком пользоваться и всякими такими фичами, не говоря уже о фреймворках а работа кстати на реакте предстоит, как я понял. Они спрашивали об этом - я честно сказал, что опыта нет.
Короче, подскажите с чего начать изучение, чтобы совсем не обосраться на месте.
966494969143
9251 Кб, Webm
#274 #966429
>>966266
Бамп данному вопросу. Вот нашел видосик даже в котором Кантор всё доходчиво объясняет (зато на сайте хуй поймешь). Но тут только про статические переменные.
966446
#275 #966446
>>966429
это который за 26к?
966452
#276 #966452
>>966446
не понял твоего вопроса
966598
#277 #966481
>>966266
Поставь еще один showcount до new Article. Я про скрин с саблайма.
966648
#278 #966482
>>966266

>Возможно я опять нихуя неправильно всё понял


Пиздуй уже книжку наверни нормальную, сука. Уж насколько джс простой язык, так ты и в нем нихуя не понимаешь.
966648
#279 #966494
>>966423
я тебя сейчас задушу
966512
#280 #966512
>>966494
Так сделайте шапку треда уже, олдфагушки.
#281 #966518
Котаны, помогите убогому мне.
Учусь по учебнику с javascript.ru
Вопрос по основам самым. То ли я туплю, то ли не очевидно написано.
Но - не пойму как работает директива return в функциях.
Вот накатал простейшее условие: https://jsfiddle.net/4mn4r1qn/1/

вот цитата из учебника: "Функция может возвратить результат, который будет передан в вызвавший её код." или "Она может находиться в любом месте функции. Как только до неё доходит управление – функция завершается и значение передается обратно."

На примере моего скрипта можете обьяснить куда можно воткнуть return, куда будет возвращено значение при этом?
Туплю блин аж раздражает.
966539
#282 #966539
>>966518
Кажется понял.
когда кажется крестятся
Поэтому все равно буду рад разъяснениям.
#283 #966548
Анончики, что можно написать на react+redux такого, чтобы на собеседовании показать?
966550
#284 #966550
>>966548
круд
#285 #966598
>>966452
Ну видео. Это из его платного курса?
966641
#286 #966641
>>966598
Ну наверное из платного, лично я с торрента качнул.
966681
#287 #966648
>>966481
Т.е вся суть статического метода функции в том, что его можно запускать даже тогда когда функция не была запущена?

>>966482
Кто-то пишет что легко, кто-то наоборот что сложно...
966725966761
9 Кб, 80x80
#288 #966664
>>961365 (OP)

наконец-то в ЖС подвезут нормального синтакса https://youtu.be/s-G_RZ4RJLU
966674966734
#289 #966674
>>966664
А запилил они js на s-выражениях, язык бы ругали только говнокодеры
#290 #966681
>>966641
Скинь ссылку.
966692
#291 #966692
>>966681
ну загугли блять. там курсы за 2013 год (ориентир тебе).
#292 #966725
>>966648
Ну... типа того
966732
#293 #966732
>>966725
А на счет инициализации. Если я этот метод сделаю как просто вложенную функцию в конструкторе Article, то эта функция будет инициализироваться каждый раз при создании нового объекта new Article() ? И если делать через статический метод, то он инициализируется всего 1 раз, правильно?
#294 #966734
>>966664
штоблядьэтозаговно
967035
#295 #966757
Уважаемые програмисты, хочу тут написать ебучий кубик рубика тридэшных в канвансах.
Посоветуйте какой фреймворк юзать, чтоб с этим было не так много ебли.
966766966769
#296 #966761
>>966648

>Т.е вся суть статического метода функции в том, что его можно запускать даже тогда когда функция не была запущена?



Нет. Ты снова ничего не понял. Суть совершенно не в этом. Твой статический метод showcount объекта Article это точно такая же функция, как сам Article, которая может быть его методом, а может и не быть. showcount это поле объекта Article. Article - это callable object.

В js нет функций. В js есть объекты и примитивы. Функция в js - это callable объект. Который может быть еще и конструктором (то есть при вызове callable object в качестве конструктора будет создан новый объект, который станет контекстом).
Методов у объектов нет. У объектов есть поля, в них хранятся ссылки на другие объекты или примитивы. Если в поле хранится ссылка на callable объект, то она иногда может выступать в качестве метода объекта, который на нее ссылается. Но может и не выступать.

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

Твоя проблема в том, что ты совершенно не понимаешь сути объектов в js, и пытаешься понять все задом наперед.

Вот когда ты поймешь дзен объектного программирования, тогда ты перестанешь спрашивать про суть. А точнее ее выдумывать. И плодить последующие неправильные вопросы.

Пойми, что твое непонимание базовых принципов, порождает у тебя массу неправильных суждений в будущем. По всей ветке легко наблюдается, как ты в одном месте говоришь, что что-то понял и сразу следом задаешь вопрос из которого видно, что ты не понял ничего абсолютно. Прекрати мучить людей в треде. И себя. Или пройди курс, прочти книжек, или найди ментора, если у тебя не получается в самообучение.
966772966774
Dmitry #297 #966766
>>966757
Three.js говнецо, юзай второе по популярности, забыл название.
966778
Dmitry #298 #966769
>>966757
CSS может в триде, по идее шустрее канваса, погугли.
966778
#299 #966772
>>966761

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



Бля а как я могу что-то понимать если я изучаю язык по Кантору и он там говорит что вот есть функция, а вот объект. А если свойство объекта это функция - то это называется методом. Я чисто физически не могу иметь другого представления о языке потому что мне его не давали по ходу обучения (уроков Кантора).
966795966803
#300 #966774
>>966761
Ну тогда вбрось мне плз объяснение главного отличия статического метода от всех других, в чем особенность. Ткни пальцем плз куда читать.
966785
#301 #966778
>>966766
WebGLU,GLGE,Babylon JS?

Я просто в гугле нашёл вот этот сайтик
http://www.randelshofer.ch/rubik/virtual_cubes/rubik/instructions/instructions.html
открыл сорс и вот эта вот хуйня несколько фрустрировала меня http://www.randelshofer.ch/rubik/virtual_cubes/rubik/lib/virtualcube.js
посему я и прошу библиотеку фреймворк чтоб попроще было.

>>966769
Мне кажется эта хуйня не предназначена для этого.
Это как игра на css, лол.
Она есть, но только для того чтобы была хотя бы одна игра на css, то есть не благодаря, а вопреки.
#302 #966785
>>966774
Нечего тебе вбрасывать.
Потому что нет в js никаких статических методов.
Сколько тебе можно объяснять?

Статическим методом можно при большой натяжке назвать поле,в котором лежит ссылка на callable объект, а на поле навешен дескриптор запрещающий его изменять. Или объект заморожен. Вот тогда он тебе будет статическим.

Ты просто не хочешь понимать что нет разницы между function a() {} и методом a.x()

и объектов b = {} и методом b.y()

Методы это просто блядь поля. Сейчас у тебя в поле функция, а через секунду там может быть примитив. Тут нет никакой статики. Тут нет даже классов. Классы в js это просто цепочка ТЕГОВ на цепочку прототипов из объектов. Классы не статичны как в других языках. Тут вообще ничего не статично, если специально это не сделать. Тут сплошная динамика.
966846
#303 #966795
>>966772
Язык лишь средство для отражения той или иной методологии программирования. В каждом языке заложены те или иные возможности, чтобы писать с использованием определенной парадигмы. JS динамический мультипарадигменный объектный язык программирования. Ты вполне себе можешь писать на нем в процедурном стиле, используя функции как функции, а объекты, как ассоциативные массивы. Можешь писать в функциональном стиле. Можешь в объектном. Но в КЛАССОВО-ОБЪЕКТНОМ так как это принято в мейнстримовых энтерпрайзных языках если и можешь, то только с большим трудом. JS прототипный язык.

Прочитай Алана Кея, посмотри на Smalltalk. Постигни что такое когда все есть объект, а вместо методов есть только сообщения.

JS несет в себе именно эти концепции, только сильно урезанном виде. В нем помимо объектов есть примитивы, а из сообщений есть всего-лишь get\set\call и еще несколько служебных.
966846967150
#304 #966803
>>966772

> вот есть функция, а вот объект


Либо хуёво он объясняет, либо ты тупой.
В js все есть объект, даже примитивы. Хотя нет, особенно примитивы.
966811966846
73 Кб, 1280x720
#305 #966805
А можно как-то записать результат функции в переменную, не вызывая ее в глобальном смысле?
966813
#306 #966811
>>966803
Нет. Примитивы в js это примитивы.
А еще в js есть императивные конструкции, которые являются исключительно синтаксическими конструкциями, а не объектами : циклы\операторы\блоки кода\етк - все это в js не объекты. Могли бы быть, но увы, нет.
966819
#307 #966813
>>966805
А можно как-то выпить чая, не выпивая его в глобальном смысле?

Научись формулировать вопросы.
3 Кб, 369x143
#308 #966819
>>966811

>Примитивы в js это примитивы.


Ну да.
966820966828966871
#309 #966820
>>966819
Ты своим скрином только показал свою некомпетентность же.
966822
#310 #966822
>>966820
Нет, в js все есть объект и примитивов тут нет, как и в любом подобном языке с динамической типизацией.
#311 #966825
>>966822
Нумбер объект, а сама циферка нет
#312 #966826
>>966822
Но ведь ты не прав.
Спецификация есть. В ней написано черным по белому, что в js ровно шесть примитивных типов, которые не являются объектами. При этом только из четырех из них есть враппер, для вызова методов из прототипа.

Ты же не понимая этой простой вещи, пытаешься заявлять обратное, основываясь на чем, извини, кроме собственного невежества?
#313 #966828
>>966819
Ну-ка вызвои мне null.toString(), маня.
Ну или сделай

x = 'ты хуй бля'
x[2] = 'ы'

Ты совсем отбитый, да?
966829966835
#314 #966829
>>966828

>x[2] = 'а'

#315 #966833
>>966822
Мы вам перезвоним.
967142
#316 #966835
>>966828

>x = 'ты хуй бля'


>x[2] = 'ы'


Лол, это будет работать ващет, если ты не с осла сидишь.
Null это вообще ничто, указатель на пустоту.
Тут называется примитивом все, что копируется по значению, так что это хуита.
966837966840
#317 #966837
>>966835
null это примитивный тип.
Как и undefined.

> это будет работать ващет


Ну-ка докажи
#318 #966840
>>966835
но ведь хуита тут только ты
#319 #966842
>>966822
выйди в окно, дитё жилбрейнс
#320 #966846
>>966785
>>966795

Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет? Я хочу понять в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора. То что разницы в общем нет - ок.

>>966803
Пруф что примитивы это объект, плз.
966856
#321 #966856
>>966846

>Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет?


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

> в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора


У "статического" метода this - это сам класс.
У обычного метода, this - это инстанс класса.
966858966868
#322 #966858
>>966856
Пока не знаю что такое инстанс, мда.
А что тогда мне почитать чтобы понять нормально как работает язык и тд.
Цикл этих книг поможет - https://github.com/azat-io/you-dont-know-js-ru/tree/master/up & going ?
966862966863
#323 #966862
>>966858
Я не знаю ничего по книгам по языкам.
Я все всегда изучал практикой и чтением манов\статей\гуглением.

А книги только концептуальные вещи, типа кея\таненбаума\раскина\макконела\етк.
#324 #966863
>>966858
instance это объект, который возвращает конструктор, - экземпляр класса.

function x() {}

x() // вернет undefined
new x() // вернет объект который является экземпляром(инстансом) класса x
966868
#325 #966868
>>966863
Спасибо большое.

>>966856

>У "статического" метода this - это сам класс.


>У обычного метода, this - это инстанс класса.


Теперь наконец вот этот момент стал намного более понятен (не понятен) ((понятен)).
Вроде ничего сложного нет, но из-за всей хуйни я запутался и каша в голове. Нужно видимо действительно данные книжки почитать ибо мне кто-то говорил что там ультра-годнота для нубов.
966882
99 Кб, 567x274
#326 #966871
#327 #966882
>>966868

>из-за всей хуйни я запутался и каша в голове


Просто, при изучении разных языков, очень вредно таскать\проецировать парадигмы из одних на другие.
Но, большинство не умеет иначе как изучать новое на примерах того, что уже изучено.
Именно поэтому в js сейчас натаскали кучи синтаксического сахара, который делает его похожим на другие, привычные многим, языки. Хотя на самом деле он таковым не является. И очень печально становится, когда человек застревает в этих вот рамках восприятия. Хотя, конечно, ничто им не мешает вот так застряв писать с использованием языка, совершенно не понимая до конца как он устроен. Именно по этой причине многие хаят тот или иной язык\технологию\вещь - потому что они хотят, чтобы было вот так, как они там где-то привыкли. а тут на самом деле все иначе.

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

Главное не зацикливаться, и стараться смотреть шире.
966886
#328 #966886
>>966882
У меня вообще JS это первый язык, поэтому в голове в общем ничего нет.
966895
#329 #966895
>>966886
Если пытаться изучать js в параллель с каким-нибудь php или питоном, то может будут очевиднее различия. (лучше наверное php, ибо там более стандартное ооп, в питоне такое же прототипное как и в js). В php есть все эти вещи как нормальные классы, интерфейсы, статические методы и переменные, вот это все. А прост он так же как и js. Да и связка вполне себе полезная. Можно конечно и более серьезные, будь то java\плюсы\шарп\етк. Можно вообще начать с чисто процедурных вещей и без всякой динамики (там эти все си\паскаль\go отчасти), а потом повышать абстракции. Можно понижать. Тут не угадаешь, как удобнее, это всегда индивидуально.

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

Писать ты можешь преимущественно на чем угодно (что нравится\за что платят\что-то еще). Но это не исключает твоей профессиональной обязанности понимать принципы и различия разных прочих областей.
966903
#330 #966903
>>966895

>в питоне такое же прототипное как и в js



WUT?
966914
#331 #966914
>>966903
Я конечно не имел ввиду, что он точно такой же. Но он ближе к js, чем php, например. А чтобы почуять разницу между действительно классовым ооп, без всякого метапрограммирования, и динамическим (будь он от js\ruby\python) питон не подойдет. Классы в питоне такой же примерно сахар как и в js. В остальном там все та же динамика, делегирование вместо копирования, классы как объекты и вот это все. Да, там нельзя выстраивать произвольную цепочку прототипов не используя классы. Но учитывая, что классы там вполне себе объекты, это сахарное деление на классы-объекты и инстансы-объекты.
#332 #966918
https://github.com/azat-io/you-dont-know-js-ru/tree/master/up & going - кстати про эти книги. есть ли они в электронном форме на русском языке? Ибо читать можно только с гитхаба, а вот если на читалке - то уже не выйдет.
968404
#333 #967035
>>966734
первоеапреляже
#334 #967142
>>966833
Я уже работаю, можете даже не пытаться.
#335 #967150
>>966795
А еслия пишу лапшу на клиенте, а повторяющийся куски выношу в функции, то я в какой стиле пишу?
#336 #967153
Я использовал объекты в пхп, но я ума не приложу, где как и зачем мне использовать объекты в жс на клиенте? Можно же просто функций нахуярить
#337 #967197
Не холивара ради.
Я уже несколько раз пытался учить джаваскрипт. в принципе, фрустрация начинается сразу, как только я приближаюсь ко фронтенду. Да, джаваскрипт разработчики делают красивые вещи, бывает, спасибо им за это

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

Как вы блять живете то ?
Я что, что-то не так понимаю, или у вас вся жизнь - это действительно вот этот вот блядский цирк? Каждый раз, когда я подхожу к выбору инструментария для написания js , я использую jquery, плачу от убогости получившейся лапши и выкатываю в продакшен. Просто потому что все остальное такое ебанутое, грузящее и непонятное, а самое главное устаревает уже завтра.
967215967225967260
#338 #967215
>>967197
Ты СОВЕРШЕННО не понимаешь в чем суть JavaScript. JavaScript это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JavaScript это не псевдофункциональный код питона. JavaScript это не C#, Джава или ПХП. JavaScript это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.

Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.

Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
968043
#339 #967225
>>967197
А еще куча систем сборки и два пакетных менеджера.
#340 #967260
>>967197

>Как вы блять живете то ?


Бухаем, упарываем

>устаревает уже завтра


а вот это уже чистый пиздеж

>Кросбраузерная несовместимость


хуйня, высосанная из пальца

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


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

>хуева куча бойлерплейта во всяких реактах


как и в любом другом фреймворке на любом другом языке, который работает с ui
967269
#341 #967269
>>967260

>а вот это уже чистый пиздеж


В 2010 меня агитировали за ExtJS, В 2013 - за ангуляр, в 2015 - за эмбер и в 2016 за реакт. Сегодня за Vue. Я не поспеваю за вашими новыми историями, уж извини

>хуйня, высосанная из пальца


Наверное именно потому наш ахуительный проект не работает в сафари, но работает в хроме. Потому что проблемы нет, а мы тут все дебилы сидим. Кек.

>тебя никто не заставляет их знать, обычно они выбираются под проект


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

>как и в любом другом фреймворке на любом другом языке, который работает с ui


там явно было больше, чем надо нормальному человеку. Хотя я допускаю, что он дебил, но таких дебилов сколько ходит по земле и сколько дает советы на стековерфлоу?
967290968043
#342 #967290
>>967269

>В 2013 - за ангуляр, в 2015 - за эмбер


слоупоки какие-то

>новыми


Этим новым уже лет 5-6. Вот велосипеды-клоны реакта да, выросли как на дрожжах. Но там принцип один и тот же везде - компоненты и неизменяемое состояние приложения

> потому наш ахуительный проект не работает в сафари


> сафари


Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера

>решил сменить проект - все начинай по новой


схуяли ты сделал такой вывод, жопочтец?
Это значит что пишут чуваки на скале - пилят фронт тоже на скале
кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят
аналогично с тайпскриптом, closure, etc

>невероятно уебищен


это js невероятно уёбищен, если бы автор не был упрямым и принял коммиты, добавляющие аннотацию типов - он был бы идеален

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


хуяк-хуяк и в продакшн?
967292967309
#343 #967292
>>967290

>автор не был упрямым


ОРУ С ЭТОГО ДЕБИЛА
967294
255 Кб, 512x512
#344 #967294
>>967292
Ну и зачем же ты с себя орешь?
#345 #967309
>>967290

>Этим новым уже лет 5-6


тащемта какой нибудь vue , ангуляр 2 - это свежие истории. Ну не суть.

>Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера


ты не бойся, в фф оно тоже работает через раз и куча страниц не работают так как надо.

>кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят


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

>хуяк-хуяк и в продакшн?


погоди, погоди, погоди
сначала ты говоришь, что бойлерплейт - это неотъемлимая часть любого ui
потом говоришь, что кому то многовато бойлерплейта, написанного, блять, руками - это плохо и говоришь "хуяк-хуяк и в продакшн".
Родина дала гигагерцы, терабайты и кучу ЯП под все это, а вот эта хуйня из браузера хочет, чтобы я вот это вот писал руками.
967315
199 Кб, 1000x691
#346 #967315
>>967309

> фф оно тоже работает через раз и куча страниц не работают так как надо


>видел как наш фронт написал if с ошибкой и около часа ебался с какой-то просто невероятно невнятной ебаниной


хуя у вас там говнокодеры

>погоди, погоди, погоди


специально жопой читаешь?
#347 #967332
Фронтаны, поясните за CycleJS? Го(д|в)но, (ни)нужно?
968289
#348 #967419
Как в gulp вызвать свою функцию, не плагин? Внутри pipe.
#349 #967519
Как сюда https://developers.google.com/chart/interactive/docs/quick_start?hl=ru внести данные из json файла? C JS всё хуёво к сожелению.
#350 #967531
Как не допустить вывода error в консоль после get ответа через axios со статусом 422? (С самой обработкой ответа всё ок)
#351 #967545
>>966077
эти плюсики встраивают в строку значение переменной i

>>966199
а что такое рекурсии? прост я кроме основ ничего не проходил еще
967660
#352 #967660
>>967545

> рекурсии?



мем с башорга же когда функция в своем теле вызывает себя
967750
#353 #967696
Пацаны, помогайте, я обращаюсь к локальному пхп файлу через XMLHttpRequest с Гетом, а он его не экзекутит, а просто возвращает весь текст файла через респонс.
967703967725
#354 #967703
>>967696
Кароч, другой вопрос, можно ли экзекутить пхп файл через XMLHttpRequest не создавая сервера самому, просто обращаясь к файлу в каталоге?
967711967752
78 Кб, 537x349
#355 #967711
#356 #967725
>>967696
Пиздец. 2017 год на дворе. А кто-то ещё ебётся с php. Вам node.js для кого запилили? Ебанутые ебанашки.
#357 #967750
>>967660
лол, до функций я еще даже не дошел, так что не удивительно что я не понял о чем идет речь.
а вообще, как не удивительно, этот мемас довольно известный даже среди людей не разбирающихся в теме
967761
#358 #967752
>>967703
определенно нет
#359 #967761
>>967750
Ну в математике же ты знаешь функции? Вот когда значение функции от аргумента равняется последовательности значений функции от меньших аргументов - это рекурсия, например факториал

f(n) = f(n - 1) f(n - 2) ... f(1)
#360 #967763
>>967761
знак умножения между аргументами потерялся
#361 #967764
>>967761
Да и при этом есть база рекурсии, когда фунция железно выдает какой-то ответ, а не опять вызывает себя. Для факториала f(1) = 1
#362 #967766
>>967761

>Ну в математике же ты знаешь функции?


нет, я бросил школу в 16 лет, после того как меня два раза выгнали за прогулы.
вообще, с математикой я не очень дружу, и считаю что именно из-за этого я тупой, так что твой пример вряд ли дойдет до меня
#363 #967768
>>967766

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

#364 #967769
>>967766
а вообще, я ничего не считаю, поскольку я слишком тупой чтобы считать.
я предполагаю – так будет лучше, наверное
#365 #967770
>>967766
но кого это волнует.
сейчас зарепортят за вайп, и я больше не смогу писать в тред
#366 #967772
>>967766
Ладно не парься, математика - это не панацея кстати, программист != математик.
#367 #967774
>>967766
я просто самое худшее что можно представить, просто апофеоз необразованного и малограмотного человека, самый лучший пример из худших людей.
967901
#368 #967901
>>967774
Ты глупая вниманиеблядь, иди нахуй отсюда, всем плевать на тебя. Займись собой сам.

На двощ пришел ты, советов мудрых ищешь. Сосни-ка хуйца!
#369 #967904
>>967761
Блеять я знаю что такое ракурсия в коде, но вот то что ты написал в виде уравнения я бы не понял
967918
#370 #967918
>>967904

> ракурсия


Ога, знаешь, как же. Там что в ойти-пту выпуск недавно был? Откуда вы лезете, имбецилы?
968304
56 Кб, 320x224
#371 #968043
>>967269

>>ангуляр


учится за пару дней

>> Vue


учится за пару дней

>>Наверное именно потому наш ахуительный проект не работает в сафари


Так было задуманно изначально ,это интеллектуальная защита от пидорасов встроенная в джаваскрипт
>>967215

>Добавили промисы, а мы смеемся.


сука че за промисы блять?Походу придется гуглить
968065968087968257
#372 #968065
>>968043

>че за промисы блять?Походу придется гуглить


как там в 2013?
968071
171 Кб, 1280x720
#373 #968071
>>968065

>>в 2013


Все просто супер,получаю 7к евро за свою первую игру на флеше и еще не знаю что мне придется перекатываться в ебаный веб чтоб заработать.
#374 #968087
>>968043

> не знать промисы


> говорить что ангуляр и вью учатся за пару дней

968110
#375 #968110
>>968087
пару дней достаточно чтоб написать приложение а большего с тебя и не потребуется ибо клиент ммо с функционалом ААА тайтла с тебя никто не спросит
#376 #968239
на learn.javascript некоторые страницы не работают, возникает ошибка 404
968246
#377 #968246
968248968250
#378 #968248
>>968246
Это обновленный сайт с новой инфой?
А Кантор будет обновлять на русский язык или не?
#379 #968250
>>968246
спасибо, я настолько тупой что забыл о том, что существует английская версия.
альза, благодаря своей тупости впервые воспользовался тайм машиной.
#380 #968257
>>968043

>учится за пару дней


>сук чё за промисы ((


Бля, я недооценивал программистов на жс.
968258
#381 #968258
>>968257

>программистов

#382 #968289
>>967332
Годно, не нужно.
#383 #968295
>>961365 (OP)
Анон поясни по angular.

Вот есть AngularJS(1.6.x) - я понял шо это, оно работает в браузере и отправляет на мой laravel данные.

А есть Angular(2,4,5,6,7,8,9...222) - Что это? Оно на серваке запускается?

В чем отличия между AngularJS и Angular?

это как Java и JavaJS, хуевые смехуечки
968307
#384 #968304
>>967918
Для тебя Т-9 опечатка - показатель ума. Много полезных формул в шаде изучил, имбецил?
#385 #968307
>>968295

>AngularJS


старая версия

>Angular


Новая версия
968316
#386 #968316
>>968307
бляяя

думал angular2 на серваке работает
968318
#387 #968318
>>968316
Второй уже устарел, пересаживайся на четвертый
968322
#388 #968322
>>968318
Там мало изменений.
#389 #968358
Парни, копирую лэндинг wget-ом, но некоторые скрипты в скопированном сайте не работают.

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

Как сделать это и на своей копии?
Знаю, что сайт сделан с помощью Muse.
968370
#390 #968370
>>968358
Потому что вгет жс не выполняет.
968376
#391 #968376
>>968370
а чем воспользоваться вместо него? В Teleport Pro такая же проблема
968407969708
#392 #968404
>>966918
бамп
#393 #968407
>>968376
Руками и головой.
968410
#394 #968410
>>968407
Воспользовался твоим анусом. Зачем пишешь бесполезные советы?
968411968412
2905 Кб, Webm
#395 #968411
#396 #968412
>>968410
Бля ну воспользуйся селениумом если с головой проблемы. Но это на борду к тестировщикам.
#397 #968457
PhantomJS
#398 #968490
Пиздец тут ебанутые пиздят лендинги headless браузмерами. Вы поехали в край что ли?
968598
#399 #968494
Ребят, нид хелп
Нужно динамически рисовать графы в браузере, пусть будет сафари
То есть скрипт на питоне генерирует граф в json, а мне нужно по мере обновления рисовать его в браузере
Раньше сильно с js не работал, можете подсказать хорошую библиотеку для этого?
Желательно чтобы я мог еще задавать для рисовки расположение точек, потому что с каждым этажом графа число вершин растет
968504
#400 #968504
#401 #968552
Скриптаны, поясните за модульные системы. Читаю выразительный джаваскрипт, и чето глава про них не совсем зашла. Нужно ли сейчас детально разбираться как работают вот эти вот CommonJs, AMD, RequireJs, или это уже потом по мере необходимости подхватывается? Если нужно, поделитесь ресурсом годным каким а?
#402 #968598
>>968490
А как правильно пиздить?

Еще вопрос, там кароч почта отправляется как эту отправку тоже спиздить? Там какой-то левый адресс mail.php/
#403 #968721
>>961452
То, чем броузер расширяет спецификацию языка.

https://www.w3schools.com/jsref/dom_obj_document.asp
#404 #968824
Анонасики, есть два стула. На текущей работе намечается заниматься йоба приложухой на электроне, море жса и зп здесь х, второй стул это фронт на пхп бэкенде, море верстки, пхп шаблоны, дизайн еще и все такое, и зп тут 1,5х. Вроде как первое круче, но на второй бабок больше. Че выбрать-то блеа.
968827968862
#405 #968827
>>968824
Выбери не задавать вопросы на мейлаче, на которые ты можешь ответить только сам
968831
#406 #968831
>>968827
А ты бы что выбрал?
968838
#407 #968838
>>968831
Первое.

мимо
#408 #968862
>>968824
Тоже выбрал бы первое, но постарался найти причины увеличить бюджет (если там действительно все х).

другой мимо
96 Кб, 1409x475
JS #409 #968987
можно ли в джаве сократить процесс написания условий если нужна написать что переменная не равна сотне других?
#410 #968993
>>968987
Тебе в другой тред
968996
#411 #968996
>>968993
ну в названии было написано(JS) более подходящий я не нашел
969000
#412 #968997
>>968987
Ты что еблан?
968999
#413 #968999
>>968997
зачем проецировать?
969016
#414 #969000
>>968996
Ну в названии JS, а тебе джава нужна. Вот и иди в джава-тред
969215969243
#415 #969005
>>968987

содомит!
#416 #969007
>>968987

я х/з что ты там делаешь, но не проще ли использовать релейт https://www.w3schools.com/jsref/jsref_indexof_array.asp
969241
#417 #969016
>>968999
в каком ты классе учишься что пишешь подобную хуйню
#418 #969064
Пацаны, а вы учили эти всякие алгоритмы, структуры данных? И вообще, на начальном этапе для фронта это разумная трата времени? Что вообще из фундаментальных знаний просто необходимо, чтобы не быть макакой? Посоветуйте книжек короче.
969086969105
Dmitry #419 #969086
>>969064
K&R, Linux System Programming
969124
#420 #969105
>>969064
Алгоритмы и структуры данных очень полезны.
Разберись с минимумом: О-натация, поиск (линейный/бинарный), сортировки (пока только простые - пузырьковая, вставками, выбором), структуры данных (списки, стек, очередь), сложные сортировки (быстрая, слиянием), хеш-таблицы, деревья, графы. Читать википедию, смотреть визуализации на YouTube. Можешь как раз на JS сам что-нибудь визуализировать, я визуализировал обходы графа.
969124
#421 #969124
>>969105
>>969086
Спасибо, значит ознакомлюсь.
#422 #969143
>>966423

>типа замыканий, прототипов, етк


Работаю полгода жс-макакой, не понимаю о чем ты, первый раз слышу эти слова.
969192
#423 #969192
>>969143
А что именно ты пишешь? Устанавливаешь jQuery-скрипты и верстаешь? Тут не то что в замыканиях, тут даже в программировании разбираться не нужно.
#424 #969215
>>969000
мне js нужно. не тупи
#425 #969241
>>969007
не знаю пока как это использовать, но спасибо за инфу
#426 #969243
>>969000
согласен, моя ошибка когда написал джава вместо js, я думал что учитывая что это js тред то все поймут о чем речь
#427 #969263
>>961733
Внезапно, годнота, не ожидал даже такого от двачера
#428 #969545
Не касался ЖС примерно полгода, накидайте кейвордов, что там сейчас модно в последние 2 недели.
#429 #969551
пацаны, реквестирую адвансед книжек по js/jquery/react чтоб не было на первых 100-300 страницах описаний как сложить два числа/добавить класс к элементу/отрендерить hello world

куда шапку то проебали ?
#430 #969708
>>968376
Попробуй плагин к ff - scrapbook - не факт, что поможет особенно если какая-нибудь асинхронная подгрузка js через ajax, но шансов гораздо больше.
#431 #970503
Сап, аноны. Решил вкатится в кодерство с JS. Интересует вот что: зная только, грубо говоря, JS можно ли заработать первые деньги? Или для того, чтобы как можно быстрее начать зарабатывать нужно начинать с PHP?
#432 #970544
>>970503

>У нас было куча вкладок "какой язык программирования выбрать первым", пара мнений в пользу JS как первого языка, и еще столько же против. Не то чтобы это была вся необходимая информация для выбора языка, но если задался вопросом о первом языке, то становится трудно определиться. Единственное, что вызывало у меня опасения - это, что JS может оказаться не серебрянной пулей, а пулей из говна. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем кодер задрачивающий язык непонять зачем. Я знал, что рано или поздно я продолжу капчевать.

#433 #970557
>>970503
Чтобы как можно быстрее начать зарабатывать нужно идти устраиваться в мак.
970562
#434 #970562
>>970557
Им нужны люди на позицию junior javascript developer?
970710
sage #435 #970710
>>970503
Я не этот занудный тролль саботажник >>970562 к слову.
#436 #970805
https://github.com/azat-io/you-dont-know-js-ru/blob/master/scope & closures/ch1.md#Компилятор-расскажет

В разделе про RHS и LHS ссылки не понял почему функция является RHS ссылкой:
"Однако, едва заметная, но важная разница есть в том, что Компилятор обрабатывает как объявление, так и определение значения во время генерации кода, благодаря чему, когда Движок выполняет код, не требуется никакой обработки чтобы "присвоить" значение функции в foo. Следовательно, неуместно думать об объявлении функции как о присваивании с помощью LHS-поиска тем способом, который мы здесь обсуждаем."

Это вроде объяснение, но я что-то всё равно не пойму.
970807
#437 #970807
>>970805

В смысле? Объявление функции - это особый случай, там так и описано.
function a() {}

Но функцию можно и присвоить
b = function (){}

Что непонятного то?
970839
#438 #970839
>>970807
Почему ИМЕННО это особый случай? В чем отличия?
970907
#439 #970907
>>970839
Объявления функций всплывают.
#440 #970911
Поясните за Redux.
Если с ReactJS все ясно, просто библиотека реализующая вьюшки. Беру старый добрый <script src и импортирую вавилон и реакт, но в примерах редукса одни ипорты и npm. Складывается впечатление что это библиотека для бэкенда и NodeJS, но если и так , тогда почему так часто встречается React/Redux ? Я могу написать АПИ на каком-нибудь Go, а на клиенте все сделать React/Redux ? Мне нужен какой-нибудь транслятор в ванильный JS типо браузерфлая ? Или я все еще могу как в старые добрые подключить локальную библиотеку явно и ссылкой ?
970913
#441 #970913
>>970911
Смотри es6 modules и webpack.
970934
#442 #970934
>>970913

>Модули в ECMAScript 6: будущее уже сейчас


лол, шел 2017й, в JS открыли модули

ну норм, просто последний раз я JS смотрел год назад и там можно было все компиять, а сейчас как ? Ну и да, это же все новые стандартны, как их использовать если нужно еще друвнее говно поддерживать ?
970938
#443 #970938
>>970934

>можно


модно
#444 #970939
>>961365 (OP)
Чем сейчас занимаются наёмные js пидоры, кроме сайтов?
970962
#445 #970962
970993
#446 #970986
>>970503
С Паскаля думаю начать, норм? Или лучше все таки с JS, или PHP, Python?
#447 #970993
>>970962
Говна я всегда поесть рад. Благодарствую
#448 #970995
Анон, как импортировать файлы из одной жс-функции в другую? вебпаками и т.п. пока что не умею пользоваться, просто файлики с жквери-функциями.
971118971123
#449 #971118
>>970995
Переформулируй нормально вопрос, мб отвечу.
971123
#450 #971123
>>970995
https://learn.javascript.ru/modules

>>971118

>мб отвечу


Съебал отсюда.
#451 #971217
Здрасте. Нужно записать данные в csv файл по ячейкам на node. Использую fast-csv и делаю так:

var ws = fs.createWriteStream("my.csv");
csv
.write([
["a", "b"],
["a1", "b1"],
["a2", "b2"]
], {headers: true})
.pipe(ws);
В итоге данные записываются в один столбец через запятую. Т.е всё выглядит так:
a,b
a1,b1
a2,b2

Хотя в этом гайде https://www.youtube.com/watch?v=B5TvirUBqzU у человека всё как нужно. В чем дело?
#452 #971220
>>971217
А как должно записываться?
971223
#453 #971223
>>971220
a,a1,a2- в столбец A
b,b1,b2- в столбец B
971232
#454 #971232
>>971223
Ну открой файл блокнотом, что там записано?
И что ты ожидаешь?
Просто мне кажется что у тебя проблема с экселем который ожидает по-умолчанию для рашки там не , а ; и ее легко решить или в нодке или в экселе.
971242971262
#455 #971242
>>971232
больше похоже на то что он ждет столбцы вместо строк
971245
#456 #971245
>>971242
Нет я уверен что проблема именно в рашке и ;. Я был уверен в этом с самого начала на самом деле лул и спросил вопросов просто чтоб поебать мозг человеку
#457 #971262
>>971232
Похоже на то. Но если вставляю ["a" ; "b"]- код не выполняется. Подскажи, как быть? Я совсем не кодер, но понадобился небольшой скрипт, пытаюсь склеить его по гайдам.
971267
#458 #971267
>>971262

> ["a" ; "b"]


Ар ю факин ретард ?
971270
#459 #971270
>>971267
Бля, чувак, я понимаю что ; не катит т.к это синтаксис JS, но как ебануть это разделение для рашки другим способом- я хуй знает. Написал же, что опыта в программировании не имею ВООБЩЕ.
Ты или подскажи, либо сразу нахуй пошли, пойду искать ответы в других местах, зачем устраиваешь тут клоунаду?
971275
#461 #971278
>>971275
headers: true, delimiter=";"
Но кстати там хелп всратый, без сорцов не разберешься.
971281971282971382
#462 #971281
>>971278

>хелп всратый


ебать, 3й пример сверху. Тебе наверное ноги ходить мешают
971289
#463 #971282
>>971278
Сделал, заработало.
Спасибо
#464 #971289
>>971281
У нас разный гугл видимо
971290
#466 #971295
>>971290

>Doug Martin is the original author. This is merely a temporary fork to support alternate cell delimiters.


Я закрыл нахуй после этих слов если честно.
И в оригинальной библиотеке разделители уже есть, я сорцы чекнул.
971348
#467 #971348
>>971295

>npm install fast-csv


он по твоему другую ставил ?
971400
#468 #971382
>>971278
>>971275
>>971217
Ткни носом, как дописывать данные в уже существующий файл с информацией, просто начиная с новой строки.
79 Кб, 1333x900
#469 #971383
Ёб вашу мать, как же мне БОМБИТ от этого вебпака. Ну ведь нормально же gulp-ом собирали, всё просто и понятно в виде конвейера, запомнил ТРИ метода и погнали. Захотел pluginname - поставил gulp-pluginname, и всё работает, хуярь как хочешь на чистом JS. Нет, хочу жрать говно, конфиги на пару тыщ строк, каждый плагин имеет собственную конфигурацию с хитровыебанными опциями, хуй-пойми-какое-очень-длинное-имя-о-котором-ты-никогда-не-догадаешься, даже в дефолтном вебпаке я ОХУЕЛ от количества опций, их же просто нереально все знать, ЭТО ПРОСТО ПИЗДЕЦ
58 Кб, 745x446
#471 #971421
джентельмены, сдается мне что я тут говнокод написал, я прав ?
если да то как можно исправить ?
971446971481
#472 #971446
>>971421
Переписать на js
971448
#473 #971448
>>971446
в смысле ? Чувак третий час ночи я в сарказм после 1:00 не могу
#474 #971481
>>971421
а тебе точно нужно при каждом ререндеринге создавать заново функцию renderMenuData ? вынести за пределы компонента
key={random(1, 100)}
неа
http://stackoverflow.com/questions/29808636/when-giving-unique-keys-to-components-is-it-okay-to-use-math-random-for-gener
https://facebook.github.io/react/docs/reconciliation.html

раз уж lodash используешь _.forEach(menuData, item=>...)
#475 #971570
>>971217
для чего может потребоваться писать нодой данные в файл экселя?
#476 #971609
Я правильно понимаю, что все современные фреймаорки типо реакта, ангуляра и тд работают по принципу аджакса, то есть асинхронно подгружают json и перерисовывают страницу без перезагрузки? В этом и суть SPA так называемых, что не нужно постоянно к серверу обращаться за новым htmk, а все делается на лету. Я просто только с ajax познакомился.
971610971617
#477 #971610
>>971609
html* fix
#478 #971617
>>971609
Вся суть SPA в том что не нужно постоянно реакт загружать или ангуляр. И цсску твою.
#479 #971638
Посоны, разбираю чужую либу и встретил такую конструкцию
function({row,rowId, index}, e) {}
как ее блять победить? Как получить доступ к этим вот переменным, переданным таким способом, я думал просто позвав их по именам, но нихуя - андефайнед. И как называется этот тип передачи параметров на ангельском - почитаю хоть за ес6.
971651971702
#480 #971651
>>971638
destructuring
971713
#482 #971713
>>971651
>>971702
Да, это деструктуризация объектов, таки, хотя большая часть и МДН тоже, забыли блядь написать о такой операции как передача объекта через деструктуризацию. А либа - хуита, это она не возвращала значения, потому что уебок, что ее писал привел один пример для 20+ ивентов и именование для каждого ивента важно, потому на 19 его пример не пашет, как юзать остальные кроме описанного этот хуй нигде не написал. Бен Крипс - ссыте ему в рот. когда встретите.
971721
#483 #971721
>>971713

>часть


How this can't work? Destructuring works everywhere.
#484 #971766
>>971217

вангую нужно в экселе указывать делимитер.

загляни в файл, и посмотри как разделены столбики и укажи это в экселе
#485 #971770
пилю кластер для ноды согласно этому гайду http://nginx.org/en/docs/http/load_balancing.html

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

upstream vChatDevNode {
ip_hash;
server 127.0.0.1:11200;
server 127.0.0.1:11201;
}

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

если я правильно понимаю, апстриму нужно разные айпи, Антоха плиз зайди на минуту проверить это https://dev.videochat.red/room/English Room
971791971815
#486 #971776
Антон, ну ты где? заходи не ссы. или поясни хотябы, как проверить кластер
#487 #971791
>>971770

> videochat


Нууу...
971794
#488 #971794
>>971791

что не так? залепи камеру изолентой)
#489 #971798
Не могу выбрать между реактом и вью. Что лучше выбрать для будущей работы?
971801971803971811
sage #490 #971800
>>961365 (OP)
Тут просили передать, что @vladimir любитель побаловаться толстыми клиентами под хвост.
971802
#491 #971801
>>971798
Вью если глаз узкий.
971804
#492 #971802
>>971800
Они пиздят, я люблю толстые сервера.
мимоВладимир
sage #493 #971803
>>971798
А Н Г У Л Я Р
Н
Г
У
Л
Я
Р
971805971810
#494 #971804
>>971801
Не понял юмора.
971807971809
#495 #971805
>>971803
Только если ты жавапетух.
#496 #971807
>>971804
Автор - китаец. Больше всего юзеров - в Китае.
971808
#497 #971808
>>971807
поехавший
971812
sage #498 #971809
>>971804
На востоке популярно. Можно в сингапур какой мигрировать.
#499 #971810
>>971803
ага, четвертый лять
#500 #971811
>>971798
выберу реакт, всем спасибо за помощь
971813971827
#501 #971812
>>971808
Китаец? Возможно.
#502 #971813
>>971811
сраный расист
51 Кб, 266x200
#503 #971815
>>971770

Антоша, ну ёбана, 1 минута же
#504 #971816
#505 #971827
>>971811
Не ведись, если что-то сложнее хеловорлда, то это пиздец. Я сегодня зол на реакт-редакс как никогда, забеало уже велосипеды писать, потому что за несколько лет, ни одно чмо не сподобилось что-либо предпринять. Из коробки нихуя нет, сообщество ничего путнего не делает - ебать, ебись как хочешь, на каждый чих пиши свои либы. З А Е Б А Л О.
971974
24 Кб, 645x230
8 Кб, 333x128
#506 #971899
Почему такой код не работает?
971919
#507 #971919
>>971899

>s2.jpg



добавь в 4ю линию после } скобки, что бы было }();
#508 #971974
>>971827
а что должно быть из коробки в библиотеке для вьюх ? какой библиотеки и для чего тебе не нашлось ?
13 Кб, 510x46
14 Кб, 338x165
#509 #971991
Какой способ создания элементов лучше и быстрее?
972262972268
#510 #972262
>>971991
че за хуйня? реакт юзай
972347
#511 #972268
>>971991
Стоит ориентироваться на производительность. forEach предполагает, что замен в коде будет много, в этом случае лучше один раз слепить html и один раз вставить его в код вместо того, чтобы много раз подряд менять DOM. Если что-то разовое, то не принципиально.

В Chrome DevTools есть вкладка Timeline, почитай про нее. По ней отлично видно, что в твоем коде при отработке занимаетс сколько времени, на это стоит ориентироваться.
972269
#512 #972269
>>972268

>вставить на страницу*



мгновеннофикс
#513 #972308
Зачем в аакансиях требуют знание ангуляра, если приходишь, а тебя просят верстать темы для вордпресса без рест апи?
#514 #972347
>>972262

>че за хуйня?


Учебный курс по JS.
#515 #972834
Котаны, что на счет связки vue + go + sqlite. В плане простоты/удобства/производительности заебца?
154 Кб, 956x486
#516 #973324
Чет автора немного не понял, почему данное функциональное выражение не имеет замыкания? Ведь у функции есть свое лексическое окружение, которое пустует на момент её вызова. Но потом функция ищет переменную а, в области видимости "повыше" - в глобальной. Разве не так?
981258
#517 #975492
Есть один скрипт на питоне, который в процессе работы пишет в файл data.json
Как сделать так, чтобы js брал информацию из этого файла и отображал ее на странице? Чтобы еще каждый раз как скрипт обновляет файл, изображение на странице менялось
#518 #977517
https://jsfiddle.net/ewrdpLab/1/
Не понимаю, почему нельзя сохранить инфу из ajax-запроса в глобальную переменную, почему первый алерт делает то что должен, а второй выдает undefined
980859
#519 #980859
>>977517
Дело в том, что второй алерт, на самом деле - первый. жс не ждет когда закончится аджакс (АСИНХРОННЫЙ джс и хмл) и запишет его респонс в дата. Он просто идет дальше.
привыкнешь.
Кури промисы;)
#520 #981258
>>973324
потому что ()() такие выражения имеют изолированный скоуп.
Тред утонул или удален.
Это копия, сохраненная 3 июня 2017 года.

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

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