Это копия, сохраненная 3 июня 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
знатоки, подскажите плиз, как в хроме и ноде смотреть дерево вызова объектов и как лучше писать не блокирующий код, м/б для п 2, есть какой-то универсальный рецепт?
На textarea весит on.change, который вызывается при каждом нажатии и выводит в консоль символы. Как написать так, чтобы выводились все символы разом(после некоторого таймоута)?
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/ и гуглом
Или лучше, что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?
Двачик, помоги.
пишешь конфиг, указываешь путь к спеке, запускаешь нодой
http://webdriver.io/guide/getstarted/configuration.html
Просто разработчики ФРОНТЕНДОВ и дипломированные специалисты по BOOTSTRAP вместо того, чтобы делать просто, делают все сложно чтобы сделать индустрию, рабочие места и высокую зарплату. Хитрый план.
Значит правда.
Наканецта завезли неразрешимые задачи. Последнего нажатия не бывает. Компьютер не может узнать, нажмёшь ты кнопку после этого или нет. Лучше объясни, что ты хочешь получить на выходе
Так вот в одну переменную мне нужно записать Имя команды, во вторую- позицию игрока.
При команде var team=$("div.info").text();
Я получаю ответ SouthamptonGoalkeeper.
Как мне обратиться к каждому конкретному элементу? Или хотя бы разделить сроку так, чтобы я мог присвоить Goalkeeper для другой переменной?
Добавь к селектору указание на четность\нечетность элемента.
>что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?
debounce
>говно этот ваш жс
Да.
>немного приблизить эту ссанину к виду человеческого ЯП
Тайпскрипт, scala.js
>если не перегоняет уже, тырпрайзную жабу
Не перегоняет. Если пишешь только под новые браузеры - можно исключить тот же бабел например.
>мэйкфайлы
Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.
>Тайпскрип
И навесить очередной велосипед, транслирующий тайпскрип в ес7, ес7 в ес6, ес6 в ес5, потом прикрутить полифилл...
>Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.
Я-то собирал. Хочешь сказать, что ссанина с нескучными конфигами, которую дополнительно нужно изучать, охуенно удобна?
У очередного закостенелого припекло от того, что все не так, как он привык. Будь гибким как вода ну или страдай.
>которую дополнительно нужно изучать
Писал на С# до этого, ничего не изучал - надстройка проста и понятна, достаточно часов читнуть документацию.
Разъяснения по ридаксу от анона. Рекомендую.
https://www.youtube.com/watch?v=PG0YuLY2Qic&t
астанавитесь, сколько можно снимать одно и тоже
Сделай что-нибудь на ваниле. С приминением этих знаний.
Если ничего не можешь придумать - wes bos javascript30 (просто чтобы база в голове закрепилась)/
Потом пару дней поковыряй апиху jq, lodash/ramda.
Далее да, фреймворки.
Но если не знаешь про сборку/автоматизацию то полезно будет глянуть от Кантора по ноде/вебпаку/галпу сринкасты его.
Из фреймворков выбирай любой из:
1) React + Redux
2) Vue + Vuex
3) Angular
Даже после изучения фреймворков (и во время) можешь углублять понимание ваниллы: например по книгам из этого списка https://github.com/javascript-society/javascript-path и статьям всяким.
Если же в ноду хочешь, то тут ничего кроме express не подскажу, сори
да это понятно, но у меня всё сложней, как быть если операция блокирующая? например итерация объектов/массивов, релейт http://stackoverflow.com/questions/8413857/whats-the-smartest-cleanest-way-to-iterate-async-over-arrays-or-objs
вроде как для этого есть либа https://github.com/caolan/async
но я хочу понять как это сделать "ручками", без либ
ок, буду гуглить дальше
а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?
Ну а если ты хочешь руками асинхронно перебрать массив, то эт наверное генераторы нужны (es7 async/await), но пример сходу я показать не смогу. Если что-нибудь получится, отпиши
Спасибо няш.
Посмотрел 15 видео подряд. Голова болит от говорилки. Наберись смелости и записывай свой голос. Вставки из фильмов — ок, но вот братишки и прочей хуйни было слишком много и не к месту. Базарить надо попроще и покультурнее со своими подписчиками. Если ты хочешь, чтобы у тебя было 3.5 подписчика — продолжай в том же духе, иначе меняй стиль общения, тебя могут смотреть люди не только с двача и не только школьники.
Добавлю: сам контент неплох, норм поясняешь.
В вашем треде есть ликбез? Или я его проебал?
Я мимо-сисадмин, чет мясяца-полтора назад увлекся версткой, мне доставляет весь этот огород городить на css и html, однако в определенный момент я понял что без ЖабаСкрипт никуда.
В универчике писал программки на турбо паскале, давным-давно, да и все.
Но общий принцип циклов, массивов и прочих операторов помню (кажется).
Подскажите нормальных книг по джаваскрипт, ну и нормальную книгу по собственно логике программирования как таковой, что бы освежить воспоминания, и совсем уж макакой не быть.
Сейчас изучаю по урокам https://learn.javascript.ru/
у этого типа есть платный курс - он стоит своих денег может знает кто?
Очень уж хочется порадовать мир еще одним "hellowordom", аж кушать не могу.
Но совсем уж мартышкой быть не хочется.
>он стоит своих денег может знает кто
JS-курс — тупо пересказ учебника + общение с преподом. Общение такое себе, просто разбирает решения задач.
>логике программирования
Не уверен, но вроде бы должна подойти книга под названием Eloquent JavaScript (есть годный перевод "Выразительный JavaScript").
>эт наверное генераторы нужны
нахуя? пул с онкомплит пишется на коленке и отлаживается за полчаса тестов на хелловорлдах
Привет.
Для начала перестань глумиться над названием языка.
Отвечая на вопросы- learn.javascript.ru норм. Выше чуваку писал где еще книги можно глянуть. >>961763
Курс же, как тебе написали, тупо по учебнику. На мой взгляд не стоит своих денег это.
Нормальную книгу по логике прораммирования, хм, SICP))
Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).
>а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?
если я правильно понял, любой цикл - блокирующая операция.
если ты перебираешь массив/объект, ты всегда используешь какой либо цикл, и это будет блокировать твой код, код будет стоять, пока не закончится перебор всего объекта. ЖС однопоточная.
Котоны, нужна помощь. Имеется сайт, на который пользователь может загрузить аудиофайл, после чего проиграть его и в процессе посмотреть на визуалиацию.
Но так как место на сервере не резиновое, пытаюсь прикрутить поддержку какого-нибудь облачного хранилища музыки. То есть, чтобы юзер вбивал в форму на сайте ссылку с песней из этого хранилища и она проигрывалась. Пробовал использовать для этого SoundCloud API, вроде он как раз умеет делать то, что мне нужно. Но из-за того, что они изменили процесс регистрации приложений у них, я уже полтора месяца не могу получить доступ к API. Есть ли какие-нибудь аналоги? Или вообще другие способы всё это организовать?
Учи в таком порядке:
1. learn.javascript.ru
2. Скринкаст по NodeJS там же
3. Пробегись по документации к webpack 2
4. Прочти документацию React и начинай делать какие-нибудь учебные проекты, наполни свой github-репозиторий
>Но совсем уж мартышкой быть не хочется.
Забей на это. Не читай SICP и Eloquent JavaScript, как можно скорее переходи к практике. Потому что в экосистеме JS слишком много фреймворков и инструментов. Когда сделаешь пару нормальных проектов, разберешься во всем этом говне, найдешь работу, тогда уже можно качать логику программирования.
961918-кун
>2. Скринкаст по NodeJS там же
Блять, забыл уточнить, что смотреть нужно только первые 9 видео.
А я вот что-то не уверен в этом суждении. Цикл рано или поздно закончится (который не бесконечный офк), а вот команды, которые выходят за окружение ноды(нода в данном случае просто среда исполнения js) вот они блокирующие. Тот же самый alert или fs.ReadSync. Но вообще я не настаиваю
Спасибо, буду разбираться.
>>961934
>>961953
Спасибо котаны за советы. Знаю с чего начать теперь.
Это даже забавно, но я на данный момент на заряде каком то, основной профиль работы надоел до одури. С бабой с которой прожил под два года разошелся.
И голова как барабан.
А фронтред это прям отдушина - и творчество и сириос скилл.
Честно говоря на данный момент забивал версткой все свободное время, в том числе и на работе.
Щас буду время забивать javascript.
>961934
>>Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).
Всякие косорылые батнички и скрипты под красноглазую.
Понимаешь у профессии сис.админа есть один фатальный порок - когда все настроено и работает - делать нехрен. И выше того что есть прыгнуть сложно.
Опять же принцип - не трожь пока работает.
А создавать себе задачи принудительно, и решать их в сисадминстве - это не совсем как сказать себе - а давай ка я напишу крутейший сайт, ну по крайней мере попробую.
Зачастую сисадмину нужно оборудование.
Крутые сервера, понтовые маршрутизаторы ну и т.д.
>нормальный FAQ уже для треда
Нахуя? Для пары минут в гугле?
>полезно же было бы для новичков.
Не умеют искать инфу - вон пусть пиздуют из профы
В фронтенд треде из wrk есть шапка - можете ради вдохновения взять себе. Или тупо спиздить (какая кому разница)
А че, годнота ведь написана
ставишь на комп ноду и нпм
ставишь ярн
ставишь бабел и пишешь бабелконфиг
ставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммит
ставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эс
инитишь гит, добавляешь гитигнор
не забудь ярн лок в репу
потом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагин
потом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетч
для удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так круче
короче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.
Помогите найти этот сайт.
О, кто-то еще схоронил этот шедевр
только подправить надо
react-router-dom
ну и вроде вместо babel-preset-es2015
можно заюзать babel-preset-env
>>962036
codewars
Попробуй FreeCodeCamp. Бесплатно, весело, довольно практично. Сначала тупак, потом посерьёзней.
https://medium.freecodecamp.com/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d#.q792q3252
а вот список практических штук, которые можно попробовать написать после освоения вывода "Привет, Пит" в консоль, лол
Снова выхожу на связь. Эту проблему решил, появилась новая.
Вот мой код
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, с которой я граблю. Но если пройти по ссылке, то видно что изначально подгружается общая статистика и только потом за последний сезон, который мне и нужен.
Так и мой код загружает первоначальную ОБЩУЮ статистику за все сезоны, а не за последний. Как видно на скриншоте.
Как можно решить такую проблему? Пробовал таймер ставить- не помогает.
Очевидно, что эти данные подтягиваются через AJAX\WS после загрузки страницы. F12 -> Network помогает отследить, что и откуда взялось. Либо работа с тем же IE через WSH.
я бы ещё nvm поставил
Жыдбрейнсы запилили поддержку этой хуйни в новой идее, значит нужен.
на работе ебут за то, что должен быть фулстек.
охуеваю от сложности js
вью жс - это когда хочется чтоб как в реакте, но реакт слишком сложен для твоих мозгов
давайте дальше шутки про вью за 300
Почитай как работает Object.assign - сразу поймешь в чем проблема
Пиздец за 2 года бэкенд не освоить, я его вместе с фронтом сидя дома за 3 года освоил
в смысле не освоил? мне нравится бэкенд, но заставляют дрочить и фронт, к которому душа не лежит
20%
WebASM
React
Angular2
Bootstrap
IPFS
HTML6
CSS4
ECMAScript7
TypeScript
Фреймворки все лучше не учить и на ванилле писать, но для работы надо знать новые модные фреймворки.
Просто пиши больше кода - игры на Canvas, например.
Для работы в основном нужно знание фреймворков (Angular, React, Bootstrap ну и само собой jQuery), какие-то языковые тонкости спрашивать вряд ли будут.
У Кантора учебник написан для людей, знающих программирование (на других языках).
>>962580
Это ерунда, меня вот заставляли учить связку React+Redux+TypeScript. Главное в JS запомнить, что там нет классов (в нынешнем стандарте ECMA есть, но не нужны) и объекты это хэш-таблицы с изменяемой структурой, что нужно использовать лямбда-выражения, что там слабая динамическая типизация и в чем отличие == от ===. Чистый бэк сейчас хуй найдешь, на всех Java вакансиях требуют фуллстек.
https://github.com/xxxwww/js-thread/blob/master/header.md
>У Кантора учебник написан для людей, знающих программирование (на других языках).
Ну он вроде иногда упомянает что учебник для полных нулей, но всё равно в некоторых момент разобраться сложновато бывает, возможно я ещё не на самом тяжелом даже.
>Просто пиши больше кода - игры на Canvas, например.
Ну чтобы хоть что-то писать, нужен какой-то минимальный банк знаний, который достаточно сложно получить из-за общего количества материала. Т.е мне ещё месяц наверное нужно дрочиться перед тем как я самую простую хрень смогу написать...
>>962736
Ну HTML/CSS я немного знаю, сверстал один статический макет, другой адаптивный резиновый (правда достаточно простой). Правда пока учил этот JS уже забыл как верстать, лул.
this захватывается из контекста объявления, и т.к. это не функция, а глобальный скоуп, this ссылается на window.
>для работы надо знать новые модные фреймворки
Хуйню несешь, ангулара/эмбер+бэкбоун достаточно
Сап аноны.
Есть список <ol> <li></li>...</ol>. Хочу чтобы каждый элемент окрашивался в зеленый цвет по очереди. То есть сначала верхний, через секунду чуть ниже, потом еще ниже и так до конца.
Я нашел функцию setTimeout, но она замедляет и потом окрашивает сразу все элементы сразу. Пробовал с циклом делать, все равно тоже самое.
https://jsbin.com/meguxehaso/edit?html,js,console,output
Cпасибо анон, всего тебе доброго!
user переменная в контексте window. всё что не обернуто в функцию является по умолчанию свойством window
норм инструмент для визуализации джава кода, найти бы такой для ЖС... https://www.youtube.com/watch?v=yUTEGepKIxY
Лучше спроси, когда их НЕ использовать, в жс без них даже лаба1 не напишешь
Нужно получить данные юзера
Пробовал с клиента через fetch
fetch('https://api.vk.com/method/users.getSubscriptions?user_id=111&v=5.63')
.then(res=> console.log(res));
Не работает.
Как это правильно делать?
ты чего, я ебался с с/с++, python, java, потом наткнулся на js и охуел от того, насколько он изи
Хе-хей!
в том-то и дело, что не ебался
а где твой access_token
На самом деле это книга немного нестандартная и искать в ней ЛУЧШЕГО объяснения я бы не стал. Там написано каким-то ебанутый языком обстракций, и лично для меня это было не в пользу ЛУЧШЕГО понимания сути, а как лишняя мешающая прослойка.
>Блять, это наверное самая конченная глава(урок?) от Кантора
Нет, ты просто баран. Ничего сложного там и в помине нет.
Открываешь на ютубчике любой толк Пола Айриша и внемлешь, попутно сожалея, что не так умен. Ну и там короче всё понятно становится. Дерзай.
Я тогда еще не умел читать, а вообще когда что-то не умеешь, то читать полезно как бы. Ты можешь думать, что понял инструмент протыкав его, но на деле так и не узнав половину функционала, ибо не прочитал.
Маны гугла к твоим услугам.
А вообще, ты слишком хуево умеешь гуглить, чтобы тут разглагольствовать о чтении.
Иди почитай, как искать информацию в 21м веке самостоятельно.
Выходит, срать ты так и не научился, раз приходишь с такими идиотскими вопросами.
Или это говно мамонта на которое все забили и спокойно пользуются классами из ES6 с нормальным наследованием?
>Посоны, сейчас вообще актуально понимать наследование через прототипы и мемную функцию extend Крокфорда?
но под капотом классов все равно прототипы, так что желательно в паре предложений описать как они работают.
Маны гугла по-твоему не читать надо? Что бы не тратить время на поиск Аля гуглении хорошей, комплексной статьи я ее и реквестирую у тех, кто, возможно, уже искал и находил что-то годное. А тебе бы, раз ты научился срать, советовал не тратить время на написание постов типо: ну ты и мудак, такооое то не можешь, бляяя. Проще же не писать?
Суть такова: хочу по нажатию на кнопку чтобы текст менял цвет. То есть если черный - то на зеленый, если зеленый - то на черный.
https://jsbin.com/gesiworaji/edit?html,js,console,output
const color = tree.style.color;
tree.style.color = color === 'green' ? '': 'green';
Как-то так должно быть.
>классами из ES6 с нормальным наследованием?
В js нет и не будет традиционных классов из java/c# и прочих языков.
>>963541
>когда что-то не умеешь, то читать полезно как бы
Ага, как сейчас помню - не умел я значит ручками перьевыми пользоваться. Потом взял в руки - и понял как оно работает. А еще яичницу готовить не умел, а там оказывается надо только яйца разбить да с солью и молоком взбить.
У классов под капотом тот же самый поиск по цепочке прототипов через [[Get]]. Классы это просто более лучший синтаксис.
Советую пролистать спецификацию, чтобы в ней ориентироваться:
https://tc39.github.io/ecma262/
Потом читать Кайла Симпсона ( https://www.youtube.com/watch?v=2pL28CcEijU ) по порядку:
https://github.com/getify/You-Dont-Know-JS
В третьей книге "this & Object Prototypes" это всё разбирается.
Потом в спецификации, в которой ты уже ориентируешься, искать конкретные механизмы, чтобы понимать, что ты пишешь, а не какими буковками.
Ну я бывает муки добавляю чуток для пышности, а молоко как-то хз даже. Надо будет попробовать.
Щепотку небольшую соды не забудь и прожаривай под закрытой крышкой, а лучше в духовке. Если правильно готовить - получится такой же пиздатый омлет, как в советских ресторанах.
>>963638
>сохранить цвет кнопочки?
Ты ебанутый? Тебе надо действия юзера сохранять, а не цвета и прочие свистоперделки.
ну так каким образом? Я, допустим, могу сделать аякс-запрос на сервер, и в зависимости от ответа поменять цвет кнопочки. Можно хранить инфу о прожатии кнопочки в сессии, но сессия после логаута флашится, и в неё тоже не вариант.
В духовке это в смысле вообще изначально ставить тарелку с субстанцией в духовку и там парить? Я бывало в микроволновке хуячил омлет, а в двуховке вообще не слыхал даже. Ты меня заинтриговал, прям с работы приду и заебашу.
>>963643
На сервере, всё на сервере. А ты как думал? У модели твоей есть же филд isLiked: bool, вот его и тоггли. Можешь использовать подход оптимистичных апдейтов, как все крутые ребята, тобишь ты отправляешь аякс на сервер, а сам между делом, не дожидаясь респонса, флипаешь в интерфейсе лайкед тру, уповая на то, что на сервере все пройдет гладко. Когда респонс возвращается, ты проверяешь, если статус ок, то ничего не надо делать, уже всё сделано. А если каким-то боком, что-то пошло не так, то в еррор хендлере флипаешь в интерфейсе обратно на лайкед фалс и сообщаешь об ошибке, ну или не сообщаешь. Тут уже от ситуации зависит.
>ну так каким образом?
А это уже задача разработчиков приложения - продумать схему бд, как изменяющиеся данных хранить, что хранить, сколько и так далее
Ну желательно какую-нибудь ёмкость побольше взять, обязательно закрытую, ибо омлет должен быть пышным в результате.
Я бы тебе конечно мог подробнее объяснить чем именно плох этот урок от кантора и что в нём столько же абстракций как в выразительном JS, но мне реально просто лень. Чего стоит только то, что Кантор ЧЕТКО не говорит что эти медоты toString и ValueOf при написании становятся какими-то служебными и язык начинает использовать их при преобразовании объекта в примитив, ну ладно, это ещё можно понять самому. А вот КАК именно происходит это преобразование, автор почему не не описывает, тут уже я наверное должен свое воображение подрубать. Почему автор приводит примеры только тех объектов, в которых одно свойство (кроме методы), а как будет работать если их там несколько? И как вообще происходит алгоритм работы, инфы просто ноль...
Але блин
[object Object] по дефолту
А когда переобозначишь то будет так, как переобозначишь
мимо
Ну и почему оно так работает? При этом с массив такой хуйни нет (автор об этом не говорит).
Потому что по умолчанию для объектов это так работает. И у него так прям и написано.
А у массива просто переопределено то, как должно выводиться. И тебе в главе показано как можно самому переопределить если тебе это нужно/интересно.
Ну а если в объекте несколько свойств, то как это будет работать? Почему оно вообще работает если функция возвращает только одно из свойств объекта на наш выбор (в коде функцией возвращается только firstName). Оно как-то само понимает и применяет это ко все остальным свойствам или что?
Ну там же по русски написано. По умолчанию для любого объекта будет [object Object]
а когда ты сам пропишешь собственный toString
то будет выполняться он
и что ты туда загонишь - то и будет выдавать
можешь возвращать для объекта
"идите в жопу" вот он и будет выдавать "идите в жопу"
http://jsbin.com/gefotodane/edit?js,console
Ну бля ну читай внимательней
Что именно я должен внимательно читать?
Написано:
>Если в объекте присутствует метод toString, который возвращает примитив, то он используется для преобразования.
Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива? А также на предыдущий ответ о том как в принципе работает этот метод - ответа нет. Также как и о том как будет работать если в объекте несколько свойств, если возвращать только одно, то какой в этом смысл, вернется только fullName, а с остальными свойствами что будет, где об этом инфа?
Ты по ссылке перешел?
> Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива?
WAT?
> Если в объекте присутствует метод toString, который возвращает примитив, то он используется для преобразования.
вот мы и делаем этот метод toString в котором возвращаем примитив - строку.
Тебе же пример в учебнике написали, в котором Кантор решил вернуть свойство если будет строковое преобразование. Вернуть одно свойство - это его собственное решение. Как по ссылке выше наше собственное решение выводить "идите в жопу" если будет строковое преобразование.
Нам хочется чтобы этот объект вместо стандартного [object Object] виделся именно так: "идите в жопу", а Кантору захотелось чтобы выводилось fullName в его объекте
> а с остальными свойствами что будет?
Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.
Вебпак уже не нужен.
Потянул смузи
>FuseBox 0.234s
>Webpack 1.376s
Сходил на митап
>Simple example using React with babel (compiles in 50ms!)
Портанул проект на yarn
Каковы ваши оправдения не использования фьюзбокса в 2017 A. D, старичьё?
Ему так захотелось, при этом он не упоминает что можно и по другому сделать.
>Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.
Ну вот этого тоже я не знал потому что инфы в уроке не было.
Что в странице с аудиозаписями:
<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();
}
});
});
Что в странице с аудиозаписями:
<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();
}
});
});
suka polzuisya jsfidllom ili drugoy hyiney, bleat
Я вот сейчас видео-урок от кантора открыл по этой теме и там он прямо охуенно рассказал. Даже сказал что toString можно привязать к функции (вне объекта, просто функция) и он с ней будет работать точно также.
ну ты и програмист ебать мой хуй .......
https://learn.javascript.ru/constructor-new - лол, вот ещё одно подобие охуенной статьи. Сначала автор говорит что можно СОЗДАВАТЬ объекты через new. А теперь он сразу начинает работать с ВЫЗОВОМ функции через new. Как это работает я видимо должен сам додумать...
>я видимо должен сам додумать...
Ну конечно же нет, птенчик, не для того тебя мамка растила. Илюша должен был догадаться всё тщательно разжевать и в ебальце тебе отрыгнуть, плохой Илюша.
Как закончишь листать Кантора, пиздуй сюда:
>>963621
>>964019
Открою маленькую тайну - функция это тоже объект
И при вызове через new она не поверишь, но тоже возвращает объект. Таким образом она СОЗДАЕТ объект через new.
И да, все это написано у него в учебнике, просто научись вдумываться в то, что написано - полезный навык. А не сидеть и рассказывать что тебе не доходит то, что до других дошло. Как жеж так, видимо всемирный заговор, не иначе.
Вопрос такой, если у меня приложение использует комбайн редьюсерс и экшен креаторы лежат по разным файлам как согласно бест практис вызвать экшен креатор из файла2 в экшен креаторе 1 из файла1? На ум лезет банальное импортирование и вызов, но уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет. Кто подскажет?
>уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет
Перечитать религия не позволяет?
Ебанфал нахуй? Всю доку перечитать? Откуда этот припездок здесь взялся? Попросите-с его нахуй, пожалуйста. Видимо какой-то обиженный непрвозмог, ныне грузчик, теперь срет в треде.
и помимо свойства this.md = new mobile-detect(navigator.userAgent)
делает свойство this.isMobile = this.md.mobile();
как считаете, насколько это плохая идея не использовать в потомках this.md.mobile() а юзать для проверок this.isMobile() ? Что уже не является библиотечным методом к которому все привыкли. За такое в офисе мне не наебашили бы ?
Ну я так и делаю - импорт нужного экшенКреатора и диспатч его из стора. Просто думал оптимальный ли это подход.
Например:
function atas() { blabla; huyhuy; }
Kалбэк:
suka(atas);
Промайз:
var yo = suka();
yo.then(atas);
джвачую
Ну объясни плиз, мы же люди.
Если функция асинхронная, то твой колбэк вызовется в случайный момент времени и поломает код, в то время как промис вызовет следующую функцию тогда и только тогда, когда выполнится предыдущая.
Больше так не делай.
Internet Explorer
да я сам хз, в любом уроке по редуксу такой способ указан, но бля, большинство этих уроков просто юзлесс.
пишешь такую конструкцию
import { bindActionCreators } from 'redux';
import * as экшн from '../actions/autocompleteActions';
function mapDispatchToProps(dispatch) {
return {
экшн: bindActionCreators(экшн, dispatch)
};
}
и теперь в компоненте можешь получить его через пропсы
let экшн = { ...this.props.экшн};
Вот так вроде, может кто поправит, если ошибся
import * as экшн from '../actions/экшн';
Я тут на ангуляр перешел, так он хорош только повторяющиеся списке из жс вызывать, сокращая разметку и то неизвестно, как это совмещать со списками, формирующимися из бд.
лол, смотрел сейчас про ЖС, его создатель отписался в комменте 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/
как тесен мир однако
>его создатель
Хуйню написал, он один из чуваков, кто дизайнил то говно, от которого стараются сейчас избавиться.
>ecmascript 6 уже овер 700 страниц, против 250 первоначальных
так эта хуйня и будет расти
добавляют всякий функциональный сахар, сохраняя всякое легаси в стандарте
хоть что-нибудь оттуда выкинули? нет
промисы и генераторы вполне годная вещь например, ты просто не юзай что тебе не нужно
сжатый обзор синтакса ЖС, может кому пригодится https://en.wikipedia.org/wiki/JavaScript_syntax
Вот я тебя и спрашиваю как, еблан тупой, если эти данные из ангуляра передаются. Каким образом я их из сервера передам списком в жс скрипт. Еблан туопй, все жаваскритпчики обмазывающиеся своими еба фреймворками - ебланы тупые, их фреймворки только костыли плодят.
К тебе приходит запрос. Ты его обрабатываешь и выдаешь ответ в виде json.
Все, клиент его обрабатывает и рисует своим еба-фреймворком то, что ему надо отрисовать.
мимо
Отец твой, еблан тупой, животное. Заебали вы со своими маня, ну такое и прочими фразами вырожденцев, деревенщины залетные.
Нахуй пошел.
Подумай головой хоть раз, как у тебя вообще сервер и приложение за прокси=сервером обрабатывает запросы с клиента.
Пиздец, блять, еще и ошибок дохуя нагородил.
охуенную игру я придумал:
я вам кидаю код, который мне кажется, я написал как индус, объясняю чего я добивался, а вы мне говорите как мне его изменить. А то мне чет тошно на него смотреть
короче есть SPA и на нем есть страница с работами, html для которых генерится из jade файла
так вот
в целях сео, заказчик попросил страницы с работами разбить на отдельные как то walls.html/floor.html/bathroom.html
я не долго думаю запилил проверялку location и в зависимости от ее содержимого передаю jade файлу не все работы а только нужные на данной странице ( все если на главной )
кто нить может подкинуть идей как сделать метод createTemplate посимпотишнее ?
алсо 40я строка тоже подбешивает, буду благодарен за более интересное решение
Sails
А ну тогда не в курсе, на js нормально бэкенд, нода быстрее остальных скриптовых языков, как я слышал.
>Подскажите в чем разница межу калбэками и промайзами?
Промис - попытка сделать сделать работу с асинхронным кодом (колбеками) похожей на синхронный код.
Использование промисов предотвращает callback hell, делает асинхронный код читабельным, дает возможность обработки ошибок в catch.
Развитие идеи промисов - генераторы и async/await.
хотя нет, стукать иногда полезно, но не сильно.
Как асинхронно загрузить файл из формы на сервер? Гугл выдаёт много всего, но в основном не то,либо я как-то не так спрашиваю.
koa
Компилятора в вебасм вроде нет, и не должно быть, и реализовать такое очень сложно, а работать оно будет все равнот медленей того что собирали из C.
>И намного медленнее го
бутылочное горлышко
хуле толку от хело вордов, когда в стеке нужно работать с БД?
по-типу вот этого https://threejs.org/examples/webgl_geometry_spline_editor.html
только чтобы на каждый поинт был контрол кривизны, снапы, и прочее как в 2д векторках.
Не пойму например почему count передаваемый объекту функции не обновляется при её вызове? Т.е если мы извне функции назначаем в её объект свойство, то на него не влияют повторные вызовы и оно не переназначается?
Count висит грубо говопя на функции, точнее на конструкторе, т.к. фкнкция Article является конструктором, о чем говорит то, что она с большой буквы начинается.
Count вынесен на конструктор, а не в него, потому что количество статей не относится к какой-то отдельной статье.
Когда мы создаем экземпляр (вызываем через new) количество увеличивается на один
При showcount просто его выводим.
Не бугурть на Кантора, вникай сиди лучше.
Ну так и нахуй это надо? Просто чтобы создать независимую переменную которая не обнуляется при повторном запуске функции?
Я тут пытался понять и вспомнить как работают функции. Т.е значения в их объект можно записать извне, но при этом нельзя извне как-то вызвать? Зато если этот func.value присвоить вне функции, то он будет читаться и в функции, и вне её. Как это понять вообще?
если провести аналогию с твоим кодом, то ты сначала посрал, потом зашел в туалет, потом сел на унитаз, потом снял штаны
Нет, не понял.
Вот этот чувак норм написал >>966233 хорошая аналогия.
Пока ты не вызвал функ у тебя ничего никуда не присвоилось. А ты хочешь что-то взять. Как можно взять то, чего нет? Никак. Поэтому у тебя андефайнд.
Я спать, если будут вопросы завтра может отвечу
А в
у функции свой скоуп, оторванный от объекта и что такое вэлью функции невдомёк
А почему по-твоему должна?
У тебя нигде не определена переменная value
а внутри объекта у тебя не переменная, а его поле.
Т.е если мы извне назначаем объекту функции свойство, то оно доступно и без её вызова? Суть такого назначения в том чтобы это свойство привязывалось к функции и при повторном её вызове никак не изменялось? Ну если напрямую в функции назначить Article.value = 0, то при каждом вызове функции значение бы сбрасывалось в 0, а при таком внешнем назначении оно остается таким же каким было на момент предыдущего запуска функции. Раньше вроде бы подобные переменные (в уроках Кантора) создавались при работе одной внешней функции, в которой записывались подобные "неизменяемые" переменные и другой внутренней функцией, которая как раз эти переменные использовала.
А вот с методами я чет уже не понял совсем. Зачем их делать статическими. Код на первом и втором пике вроде работает одинаково и выдает один и тот же результат. Т.е нафига записывать метод в функцию извне если он итак будет работать?
Возможно я опять нихуя неправильно всё понял. Но что-то совсем запутался с этими функциями, замыканиями и тем как работают функции. Хотя вроде только совсем недавно делал по задания и читал темы, всё было понятно.
А о так она видит, почему в объекте не видит, ведь value находятся в одном поле видимости.
>которая такой же объект
Не такой же.
Глобальный объект - это глбоальный объект.
И не везде глобальным объектом является window
валью в объекте - это поле этого объекта, к полю нужно обращаться через точку. тебе же уже выше это сказали, что тупишь?
он не видит разницы между пропертью и переменой в глобальном скопе. и не может понять, что глобальный скоуп(как и любой другой) это тоже объект.
Нет, не переменная. У тебя она поле объекта.
Ну я вот вопрос выше задавал. Т.е у функции 2 объекта в которые она записывает свои значения или че? 1 - это лексическое окружение (LexicalEnvironment) в которые попадают все переменные. 2 - это просто объект которому можно задать свойство. ?
Ставил scoop. Удобненько отсортировалось, но yarn всё равно вылез за пределы и серанул в папку пользователя.
Веб приложения это вообще пиздец. Поставил vs code,hyperjs, да и вообще что-то посмотреть, так они постоянно всё засирают в папке юзера, создавая свои файлы и папочки для зависимых пакетов и т.д. Можно это вот всё чтобы лежало по своим отдельным папкам?
func.value у тебя поле объекта func
ты к нему обращаешься по имени функции.
будь у тебя функиця анонимная ты к нему не обрашись.
лексическое окружение - это лексическое окруение. оно наследуется вверх, вплоть до лоальной области видимости.
еще есть контекст this
Я не знаю, где ты там изучаешь язык. Но изучаешь ты его как-то через жопу.
>>966278
Справедливости ради в window всё работает и вызывается. А в внутренней переменной которая тоже объект - нужно вызывать только через точку? Какое отношение к этому имеет логика, если по логике и то и другое должно работать одинаково ибо это объекты.
Но челик выше сказал что глобальный объект он немного другой, поэтому через него это возможно. Ну ок, тогда вопросов нет.
>Т.е у функции 2 объекта
Функция это тоже объект.
В твоем примере, ты дергаешь переменную из лексического окружения и свойство объекта func.
А this - это контекст. Контекстом может быть вообще любой объект в разное время, смотря как ты вызовешь и смотря какая у тебя функция.
Ты свой пример перепеши с let а не var, и увидишь, что ничего у тебя не работает.
>>966286
Так четкий ответ будет, не? Лексическое окружение это один объект в который записываются переменные. А при назначении через func.value = 5 мы просто назначаем в свойство объекта func значение?
>лексическое окружение - это лексическое окружение.
Ну т.е это как бы другой объект, правильно?
Когда мы вызываем func.value то обращаемся к объекту функции, а не внутреннему объекту, поэтому это по сути разные 2 объекта, один в другом.
Ну тогда может кто-то расскажет чем отличается LexicalEnvironment от основного объекта функции?
Тебе уже тут все сказали >>966286
и еще несколько раз выше тоже все пояснили
ты или отказываешься понимать, или дурак.
извини.
Лексические окружения вложены друг в друга до глобальной области видимости, и ни какого отношения ни к каким другим объектам не имеют. Ты слишком тугой.
Четкого ответа так и не было.
>лексическое окружение - это лексическое окруение
Охуенное объяснение. Лексическое окружение это объект в который записываются локальные переменные, аргументы (так написано у кантора).
Но записывая func.value = 5 , то чем является это свойство value? Свойством объекта лексического окружения или просто свойством объекта функции?
>Охуенное объяснение
Тебе до конца строки пояснение прочитать религия мешает?
Короче, ты заебал.
Ну если ты не тугой, где находятся эти лексические окружения?
Лексического окружение это объект который создает для себя каждая функция, понимаешь?
>лексическое окружение - это лексическое окруение. оно наследуется вверх, вплоть до лоальной области видимости.
Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"
>наследуется вверх
По моему челик даже сам не уверен разбирается он в этом или нет. Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта "уровнем" выше. У функции ссылка (скоуп) на объект window. У внутренней функции объект на внешнюю и так далее.
Где ты здесь увидел ответ на мой вопрос я даже не ебу.
> на объект window
Ты хоть понимаешь, что может не быть никакого объекта window?
Понимаешь, что глобальным объектом может быть совершенно любой объект, и его еще можно поменять?
>Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта
Дебил блядь ебаный. Это и есть наследование.
ДЕЛЕГИРОВАНИЕМ.
Идин нахуй отсюда просто.
>Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"
Ты болен чем-то?
Тебе пятнадцать раз сказали - это разные объекты, они ничем не схожи. Объект функции - это блядь сама функция. Она и есть объект сама по себе. Лексические окружения - это окружения блядь, вложенные друг в друга иерархией. Если тебе не нравится пояснение, что симаская кошка - это такая кошка, то проследуй решительно нахуй. Объяснять тебе азы никто не обязан. А если ты настолько идиот, что не сумел за все это время нагуглить ответы на свои глупые вопросы, то я не понимаю, что ты до сих пор пытаешься тут изучить. У тебя нет будущего в этой сфере. У тебя все очень плохо с абстракциями.
Ты блядь продолжаешь задавать идиотские вопросы утверждая, что тебе ничего не пояснили.
Тебе все пояснили. Не единожды.
щенок)
Короче, подскажите с чего начать изучение, чтобы совсем не обосраться на месте.
Бамп данному вопросу. Вот нашел видосик даже в котором Кантор всё доходчиво объясняет (зато на сайте хуй поймешь). Но тут только про статические переменные.
>Возможно я опять нихуя неправильно всё понял
Пиздуй уже книжку наверни нормальную, сука. Уж насколько джс простой язык, так ты и в нем нихуя не понимаешь.
Так сделайте шапку треда уже, олдфагушки.
Учусь по учебнику с javascript.ru
Вопрос по основам самым. То ли я туплю, то ли не очевидно написано.
Но - не пойму как работает директива return в функциях.
Вот накатал простейшее условие: https://jsfiddle.net/4mn4r1qn/1/
вот цитата из учебника: "Функция может возвратить результат, который будет передан в вызвавший её код." или "Она может находиться в любом месте функции. Как только до неё доходит управление – функция завершается и значение передается обратно."
На примере моего скрипта можете обьяснить куда можно воткнуть return, куда будет возвращено значение при этом?
Туплю блин аж раздражает.
круд
А запилил они js на s-выражениях, язык бы ругали только говнокодеры
ну загугли блять. там курсы за 2013 год (ориентир тебе).
А на счет инициализации. Если я этот метод сделаю как просто вложенную функцию в конструкторе Article, то эта функция будет инициализироваться каждый раз при создании нового объекта new Article() ? И если делать через статический метод, то он инициализируется всего 1 раз, правильно?
Посоветуйте какой фреймворк юзать, чтоб с этим было не так много ебли.
>Т.е вся суть статического метода функции в том, что его можно запускать даже тогда когда функция не была запущена?
Нет. Ты снова ничего не понял. Суть совершенно не в этом. Твой статический метод showcount объекта Article это точно такая же функция, как сам Article, которая может быть его методом, а может и не быть. showcount это поле объекта Article. Article - это callable object.
В js нет функций. В js есть объекты и примитивы. Функция в js - это callable объект. Который может быть еще и конструктором (то есть при вызове callable object в качестве конструктора будет создан новый объект, который станет контекстом).
Методов у объектов нет. У объектов есть поля, в них хранятся ссылки на другие объекты или примитивы. Если в поле хранится ссылка на callable объект, то она иногда может выступать в качестве метода объекта, который на нее ссылается. Но может и не выступать.
Нет никакой разницы принципиальной между методом\функцией\объектом. Это все есть объекты, с разными свойствами. Но ты почему решительно пытаешься их сегрегировать.
Твоя проблема в том, что ты совершенно не понимаешь сути объектов в js, и пытаешься понять все задом наперед.
Вот когда ты поймешь дзен объектного программирования, тогда ты перестанешь спрашивать про суть. А точнее ее выдумывать. И плодить последующие неправильные вопросы.
Пойми, что твое непонимание базовых принципов, порождает у тебя массу неправильных суждений в будущем. По всей ветке легко наблюдается, как ты в одном месте говоришь, что что-то понял и сразу следом задаешь вопрос из которого видно, что ты не понял ничего абсолютно. Прекрати мучить людей в треде. И себя. Или пройди курс, прочти книжек, или найди ментора, если у тебя не получается в самообучение.
>Твоя проблема в том, что ты совершенно не понимаешь сути объектов в js, и пытаешься понять все задом наперед.
Бля а как я могу что-то понимать если я изучаю язык по Кантору и он там говорит что вот есть функция, а вот объект. А если свойство объекта это функция - то это называется методом. Я чисто физически не могу иметь другого представления о языке потому что мне его не давали по ходу обучения (уроков Кантора).
Ну тогда вбрось мне плз объяснение главного отличия статического метода от всех других, в чем особенность. Ткни пальцем плз куда читать.
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, то есть не благодаря, а вопреки.
Нечего тебе вбрасывать.
Потому что нет в js никаких статических методов.
Сколько тебе можно объяснять?
Статическим методом можно при большой натяжке назвать поле,в котором лежит ссылка на callable объект, а на поле навешен дескриптор запрещающий его изменять. Или объект заморожен. Вот тогда он тебе будет статическим.
Ты просто не хочешь понимать что нет разницы между function a() {} и методом a.x()
и объектов b = {} и методом b.y()
Методы это просто блядь поля. Сейчас у тебя в поле функция, а через секунду там может быть примитив. Тут нет никакой статики. Тут нет даже классов. Классы в js это просто цепочка ТЕГОВ на цепочку прототипов из объектов. Классы не статичны как в других языках. Тут вообще ничего не статично, если специально это не сделать. Тут сплошная динамика.
Язык лишь средство для отражения той или иной методологии программирования. В каждом языке заложены те или иные возможности, чтобы писать с использованием определенной парадигмы. JS динамический мультипарадигменный объектный язык программирования. Ты вполне себе можешь писать на нем в процедурном стиле, используя функции как функции, а объекты, как ассоциативные массивы. Можешь писать в функциональном стиле. Можешь в объектном. Но в КЛАССОВО-ОБЪЕКТНОМ так как это принято в мейнстримовых энтерпрайзных языках если и можешь, то только с большим трудом. JS прототипный язык.
Прочитай Алана Кея, посмотри на Smalltalk. Постигни что такое когда все есть объект, а вместо методов есть только сообщения.
JS несет в себе именно эти концепции, только сильно урезанном виде. В нем помимо объектов есть примитивы, а из сообщений есть всего-лишь get\set\call и еще несколько служебных.
> вот есть функция, а вот объект
Либо хуёво он объясняет, либо ты тупой.
В js все есть объект, даже примитивы. Хотя нет, особенно примитивы.
Нет. Примитивы в js это примитивы.
А еще в js есть императивные конструкции, которые являются исключительно синтаксическими конструкциями, а не объектами : циклы\операторы\блоки кода\етк - все это в js не объекты. Могли бы быть, но увы, нет.
А можно как-то выпить чая, не выпивая его в глобальном смысле?
Научись формулировать вопросы.
Нет, в js все есть объект и примитивов тут нет, как и в любом подобном языке с динамической типизацией.
Нумбер объект, а сама циферка нет
Но ведь ты не прав.
Спецификация есть. В ней написано черным по белому, что в js ровно шесть примитивных типов, которые не являются объектами. При этом только из четырех из них есть враппер, для вызова методов из прототипа.
Ты же не понимая этой простой вещи, пытаешься заявлять обратное, основываясь на чем, извини, кроме собственного невежества?
Ну-ка вызвои мне null.toString(), маня.
Ну или сделай
x = 'ты хуй бля'
x[2] = 'ы'
Ты совсем отбитый, да?
>x = 'ты хуй бля'
>x[2] = 'ы'
Лол, это будет работать ващет, если ты не с осла сидишь.
Null это вообще ничто, указатель на пустоту.
Тут называется примитивом все, что копируется по значению, так что это хуита.
но ведь хуита тут только ты
выйди в окно, дитё жилбрейнс
>>966795
Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет? Я хочу понять в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора. То что разницы в общем нет - ок.
>>966803
Пруф что примитивы это объект, плз.
>Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет?
Это калька с других языков.
Возможно, он это делает чтобы людям было удобнее воспринимать информацию, полагаясь на то, что они уже знакомы с какими-то ЯП, в которых действительно есть статические вещи. Делает он это, конечно, зря.
> в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора
У "статического" метода this - это сам класс.
У обычного метода, this - это инстанс класса.
Пока не знаю что такое инстанс, мда.
А что тогда мне почитать чтобы понять нормально как работает язык и тд.
Цикл этих книг поможет - https://github.com/azat-io/you-dont-know-js-ru/tree/master/up & going ?
Я не знаю ничего по книгам по языкам.
Я все всегда изучал практикой и чтением манов\статей\гуглением.
А книги только концептуальные вещи, типа кея\таненбаума\раскина\макконела\етк.
instance это объект, который возвращает конструктор, - экземпляр класса.
function x() {}
x() // вернет undefined
new x() // вернет объект который является экземпляром(инстансом) класса x
Спасибо большое.
>>966856
>У "статического" метода this - это сам класс.
>У обычного метода, this - это инстанс класса.
Теперь наконец вот этот момент стал намного более понятен (не понятен) ((понятен)).
Вроде ничего сложного нет, но из-за всей хуйни я запутался и каша в голове. Нужно видимо действительно данные книжки почитать ибо мне кто-то говорил что там ультра-годнота для нубов.
>из-за всей хуйни я запутался и каша в голове
Просто, при изучении разных языков, очень вредно таскать\проецировать парадигмы из одних на другие.
Но, большинство не умеет иначе как изучать новое на примерах того, что уже изучено.
Именно поэтому в js сейчас натаскали кучи синтаксического сахара, который делает его похожим на другие, привычные многим, языки. Хотя на самом деле он таковым не является. И очень печально становится, когда человек застревает в этих вот рамках восприятия. Хотя, конечно, ничто им не мешает вот так застряв писать с использованием языка, совершенно не понимая до конца как он устроен. Именно по этой причине многие хаят тот или иной язык\технологию\вещь - потому что они хотят, чтобы было вот так, как они там где-то привыкли. а тут на самом деле все иначе.
Я не знаю, как там объясняет Кантор сейчас, я помню его статьи еще лет 10 назад только, когда у него и не было курса как такового и он там спеки переводил. Но, вполне может быть он подает информацию используя привычную устоявшуюсь терминологию для каких-то вещей, хотя на самом деле эти вещи тут не такие как в других местах.
Главное не зацикливаться, и стараться смотреть шире.
Если пытаться изучать js в параллель с каким-нибудь php или питоном, то может будут очевиднее различия. (лучше наверное php, ибо там более стандартное ооп, в питоне такое же прототипное как и в js). В php есть все эти вещи как нормальные классы, интерфейсы, статические методы и переменные, вот это все. А прост он так же как и js. Да и связка вполне себе полезная. Можно конечно и более серьезные, будь то java\плюсы\шарп\етк. Можно вообще начать с чисто процедурных вещей и без всякой динамики (там эти все си\паскаль\go отчасти), а потом повышать абстракции. Можно понижать. Тут не угадаешь, как удобнее, это всегда индивидуально.
Но главное не застрять на каком-то месте. Очень сильно бытует мнение, что если человек изучил какой-то "не тот" язык первым, то он и не сможет уже нормально изучить остальные. Но это не так. Этот стереотип именно из-за той вещи о которой я писал. Людям сложно перестраивать абстракции. Но программист без гибкого абстрактного мышления не более чем макака же.
Писать ты можешь преимущественно на чем угодно (что нравится\за что платят\что-то еще). Но это не исключает твоей профессиональной обязанности понимать принципы и различия разных прочих областей.
Я конечно не имел ввиду, что он точно такой же. Но он ближе к js, чем php, например. А чтобы почуять разницу между действительно классовым ооп, без всякого метапрограммирования, и динамическим (будь он от js\ruby\python) питон не подойдет. Классы в питоне такой же примерно сахар как и в js. В остальном там все та же динамика, делегирование вместо копирования, классы как объекты и вот это все. Да, там нельзя выстраивать произвольную цепочку прототипов не используя классы. Но учитывая, что классы там вполне себе объекты, это сахарное деление на классы-объекты и инстансы-объекты.
Я уже работаю, можете даже не пытаться.
А еслия пишу лапшу на клиенте, а повторяющийся куски выношу в функции, то я в какой стиле пишу?
Я уже несколько раз пытался учить джаваскрипт. в принципе, фрустрация начинается сразу, как только я приближаюсь ко фронтенду. Да, джаваскрипт разработчики делают красивые вещи, бывает, спасибо им за это
но вот все эти недоразумения типа ES5-8, охуительные выкрутасы с генераторами (для эмуляции, пока их в язык не завезли, async/await-ов), наличие охулиарда языков, компилирающихся в джаваскрипт, прорва подходов для отсылания формочек на бек, сделанных вчерашними студентами на коленке?
Кросбраузерная несовместимость - код, котоырй пишет наш фронтенд под хром, больше по сути нигде не работает.
Какая-то хуева куча бойлерплейта во всяких реактах - видел один проект своего знакомого - там какой-то ад.
Как вы блять живете то ?
Я что, что-то не так понимаю, или у вас вся жизнь - это действительно вот этот вот блядский цирк? Каждый раз, когда я подхожу к выбору инструментария для написания js , я использую jquery, плачу от убогости получившейся лапши и выкатываю в продакшен. Просто потому что все остальное такое ебанутое, грузящее и непонятное, а самое главное устаревает уже завтра.
Ты СОВЕРШЕННО не понимаешь в чем суть JavaScript. JavaScript это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JavaScript это не псевдофункциональный код питона. JavaScript это не C#, Джава или ПХП. JavaScript это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.
Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.
Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
А еще куча систем сборки и два пакетных менеджера.
>Как вы блять живете то ?
Бухаем, упарываем
>устаревает уже завтра
а вот это уже чистый пиздеж
>Кросбраузерная несовместимость
хуйня, высосанная из пальца
>наличие охулиарда языков, компилирающихся в джаваскрипт
тебя никто не заставляет их знать, обычно они выбираются под проект, чтобы не тратить время спецов на другой, более уёбищный, дизайн языка
>хуева куча бойлерплейта во всяких реактах
как и в любом другом фреймворке на любом другом языке, который работает с ui
>а вот это уже чистый пиздеж
В 2010 меня агитировали за ExtJS, В 2013 - за ангуляр, в 2015 - за эмбер и в 2016 за реакт. Сегодня за Vue. Я не поспеваю за вашими новыми историями, уж извини
>хуйня, высосанная из пальца
Наверное именно потому наш ахуительный проект не работает в сафари, но работает в хроме. Потому что проблемы нет, а мы тут все дебилы сидим. Кек.
>тебя никто не заставляет их знать, обычно они выбираются под проект
ну то есть решил сменить проект - все начинай по новой. Красиво. Это я уже не говорю о том, что группа поехавших до сих пор продвигает кофийскрипт, который ну просто невероятно уебищен и не нужен.
>как и в любом другом фреймворке на любом другом языке, который работает с ui
там явно было больше, чем надо нормальному человеку. Хотя я допускаю, что он дебил, но таких дебилов сколько ходит по земле и сколько дает советы на стековерфлоу?
>В 2013 - за ангуляр, в 2015 - за эмбер
слоупоки какие-то
>новыми
Этим новым уже лет 5-6. Вот велосипеды-клоны реакта да, выросли как на дрожжах. Но там принцип один и тот же везде - компоненты и неизменяемое состояние приложения
> потому наш ахуительный проект не работает в сафари
> сафари
Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера
>решил сменить проект - все начинай по новой
схуяли ты сделал такой вывод, жопочтец?
Это значит что пишут чуваки на скале - пилят фронт тоже на скале
кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят
аналогично с тайпскриптом, closure, etc
>невероятно уебищен
это js невероятно уёбищен, если бы автор не был упрямым и принял коммиты, добавляющие аннотацию типов - он был бы идеален
>надо нормальному человеку
хуяк-хуяк и в продакшн?
Ну и зачем же ты с себя орешь?
>Этим новым уже лет 5-6
тащемта какой нибудь vue , ангуляр 2 - это свежие истории. Ну не суть.
>Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера
ты не бойся, в фф оно тоже работает через раз и куча страниц не работают так как надо.
>кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят
вот я на рубях хуярю. Во-первых, кофескрипт на раби не похож, во вторых он уебищный, в третьих - он реально уебищно парсится. Мало того, что он парсится в довольно неэффективный код в угоду синтаксическому сахару, так там еще и конструкции языка можно написать так, что оно ебнется с совершенно невнятной ошибкой. Опять же, видел как наш фронт написал if с ошибкой и около часа ебался с какой-то просто невероятно невнятной ебаниной в консоли. Это не смешно.
>хуяк-хуяк и в продакшн?
погоди, погоди, погоди
сначала ты говоришь, что бойлерплейт - это неотъемлимая часть любого ui
потом говоришь, что кому то многовато бойлерплейта, написанного, блять, руками - это плохо и говоришь "хуяк-хуяк и в продакшн".
Родина дала гигагерцы, терабайты и кучу ЯП под все это, а вот эта хуйня из браузера хочет, чтобы я вот это вот писал руками.
> фф оно тоже работает через раз и куча страниц не работают так как надо
>видел как наш фронт написал if с ошибкой и около часа ебался с какой-то просто невероятно невнятной ебаниной
хуя у вас там говнокодеры
>погоди, погоди, погоди
специально жопой читаешь?
эти плюсики встраивают в строку значение переменной i
>>966199
а что такое рекурсии? прост я кроме основ ничего не проходил еще
Кароч, другой вопрос, можно ли экзекутить пхп файл через XMLHttpRequest не создавая сервера самому, просто обращаясь к файлу в каталоге?
Пиздец. 2017 год на дворе. А кто-то ещё ебётся с php. Вам node.js для кого запилили? Ебанутые ебанашки.
лол, до функций я еще даже не дошел, так что не удивительно что я не понял о чем идет речь.
а вообще, как не удивительно, этот мемас довольно известный даже среди людей не разбирающихся в теме
определенно нет
Ну в математике же ты знаешь функции? Вот когда значение функции от аргумента равняется последовательности значений функции от меньших аргументов - это рекурсия, например факториал
f(n) = f(n - 1) f(n - 2) ... f(1)
знак умножения между аргументами потерялся
Да и при этом есть база рекурсии, когда фунция железно выдает какой-то ответ, а не опять вызывает себя. Для факториала f(1) = 1
>Ну в математике же ты знаешь функции?
нет, я бросил школу в 16 лет, после того как меня два раза выгнали за прогулы.
вообще, с математикой я не очень дружу, и считаю что именно из-за этого я тупой, так что твой пример вряд ли дойдет до меня
>два раза выгнали из двух профильных заведений за большие пропуски которые измеряются месяцами
а вообще, я ничего не считаю, поскольку я слишком тупой чтобы считать.
я предполагаю – так будет лучше, наверное
Ладно не парься, математика - это не панацея кстати, программист != математик.
я просто самое худшее что можно представить, просто апофеоз необразованного и малограмотного человека, самый лучший пример из худших людей.
Ты глупая вниманиеблядь, иди нахуй отсюда, всем плевать на тебя. Займись собой сам.
На двощ пришел ты, советов мудрых ищешь. Сосни-ка хуйца!
Блеять я знаю что такое ракурсия в коде, но вот то что ты написал в виде уравнения я бы не понял
> ракурсия
Ога, знаешь, как же. Там что в ойти-пту выпуск недавно был? Откуда вы лезете, имбецилы?
>>ангуляр
учится за пару дней
>> Vue
учится за пару дней
>>Наверное именно потому наш ахуительный проект не работает в сафари
Так было задуманно изначально ,это интеллектуальная защита от пидорасов встроенная в джаваскрипт
>>967215
>Добавили промисы, а мы смеемся.
сука че за промисы блять?Походу придется гуглить
>>в 2013
Все просто супер,получаю 7к евро за свою первую игру на флеше и еще не знаю что мне придется перекатываться в ебаный веб чтоб заработать.
пару дней достаточно чтоб написать приложение а большего с тебя и не потребуется ибо клиент ммо с функционалом ААА тайтла с тебя никто не спросит
спасибо, я настолько тупой что забыл о том, что существует английская версия.
альза, благодаря своей тупости впервые воспользовался тайм машиной.
Годно, не нужно.
Анон поясни по angular.
Вот есть AngularJS(1.6.x) - я понял шо это, оно работает в браузере и отправляет на мой laravel данные.
А есть Angular(2,4,5,6,7,8,9...222) - Что это? Оно на серваке запускается?
В чем отличия между AngularJS и Angular?
это как Java и JavaJS, хуевые смехуечки
Для тебя Т-9 опечатка - показатель ума. Много полезных формул в шаде изучил, имбецил?
Там мало изменений.
Заметил, что в оригинальном лэндинге при некоторых кликах или ховерах изменяются названия классов в реальном времени и подсвечиваются оранжевым в инспекторе. В моей копии такого не происходит.
Как сделать это и на своей копии?
Знаю, что сайт сделан с помощью Muse.
бамп
Бля ну воспользуйся селениумом если с головой проблемы. Но это на борду к тестировщикам.
Нужно динамически рисовать графы в браузере, пусть будет сафари
То есть скрипт на питоне генерирует граф в json, а мне нужно по мере обновления рисовать его в браузере
Раньше сильно с js не работал, можете подсказать хорошую библиотеку для этого?
Желательно чтобы я мог еще задавать для рисовки расположение точек, потому что с каждым этажом графа число вершин растет
bokeh
А как правильно пиздить?
Еще вопрос, там кароч почта отправляется как эту отправку тоже спиздить? Там какой-то левый адресс mail.php/
То, чем броузер расширяет спецификацию языка.
https://www.w3schools.com/jsref/dom_obj_document.asp
Тоже выбрал бы первое, но постарался найти причины увеличить бюджет (если там действительно все х).
другой мимо
я х/з что ты там делаешь, но не проще ли использовать релейт https://www.w3schools.com/jsref/jsref_indexof_array.asp
в каком ты классе учишься что пишешь подобную хуйню
Алгоритмы и структуры данных очень полезны.
Разберись с минимумом: О-натация, поиск (линейный/бинарный), сортировки (пока только простые - пузырьковая, вставками, выбором), структуры данных (списки, стек, очередь), сложные сортировки (быстрая, слиянием), хеш-таблицы, деревья, графы. Читать википедию, смотреть визуализации на YouTube. Можешь как раз на JS сам что-нибудь визуализировать, я визуализировал обходы графа.
>типа замыканий, прототипов, етк
Работаю полгода жс-макакой, не понимаю о чем ты, первый раз слышу эти слова.
А что именно ты пишешь? Устанавливаешь jQuery-скрипты и верстаешь? Тут не то что в замыканиях, тут даже в программировании разбираться не нужно.
мне js нужно. не тупи
не знаю пока как это использовать, но спасибо за инфу
согласен, моя ошибка когда написал джава вместо js, я думал что учитывая что это js тред то все поймут о чем речь
Внезапно, годнота, не ожидал даже такого от двачера
куда шапку то проебали ?
Попробуй плагин к ff - scrapbook - не факт, что поможет особенно если какая-нибудь асинхронная подгрузка js через ajax, но шансов гораздо больше.
>У нас было куча вкладок "какой язык программирования выбрать первым", пара мнений в пользу JS как первого языка, и еще столько же против. Не то чтобы это была вся необходимая информация для выбора языка, но если задался вопросом о первом языке, то становится трудно определиться. Единственное, что вызывало у меня опасения - это, что JS может оказаться не серебрянной пулей, а пулей из говна. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем кодер задрачивающий язык непонять зачем. Я знал, что рано или поздно я продолжу капчевать.
В разделе про RHS и LHS ссылки не понял почему функция является RHS ссылкой:
"Однако, едва заметная, но важная разница есть в том, что Компилятор обрабатывает как объявление, так и определение значения во время генерации кода, благодаря чему, когда Движок выполняет код, не требуется никакой обработки чтобы "присвоить" значение функции в foo. Следовательно, неуместно думать об объявлении функции как о присваивании с помощью LHS-поиска тем способом, который мы здесь обсуждаем."
Это вроде объяснение, но я что-то всё равно не пойму.
В смысле? Объявление функции - это особый случай, там так и описано.
function a() {}
Но функцию можно и присвоить
b = function (){}
Что непонятного то?
Объявления функций всплывают.
Если с ReactJS все ясно, просто библиотека реализующая вьюшки. Беру старый добрый <script src и импортирую вавилон и реакт, но в примерах редукса одни ипорты и npm. Складывается впечатление что это библиотека для бэкенда и NodeJS, но если и так , тогда почему так часто встречается React/Redux ? Я могу написать АПИ на каком-нибудь Go, а на клиенте все сделать React/Redux ? Мне нужен какой-нибудь транслятор в ванильный JS типо браузерфлая ? Или я все еще могу как в старые добрые подключить локальную библиотеку явно и ссылкой ?
>Модули в ECMAScript 6: будущее уже сейчас
лол, шел 2017й, в JS открыли модули
ну норм, просто последний раз я JS смотрел год назад и там можно было все компиять, а сейчас как ? Ну и да, это же все новые стандартны, как их использовать если нужно еще друвнее говно поддерживать ?
Чем сейчас занимаются наёмные js пидоры, кроме сайтов?
С Паскаля думаю начать, норм? Или лучше все таки с JS, или PHP, Python?
Говна я всегда поесть рад. Благодарствую
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 у человека всё как нужно. В чем дело?
Ну открой файл блокнотом, что там записано?
И что ты ожидаешь?
Просто мне кажется что у тебя проблема с экселем который ожидает по-умолчанию для рашки там не , а ; и ее легко решить или в нодке или в экселе.
Нет я уверен что проблема именно в рашке и ;. Я был уверен в этом с самого начала на самом деле лул и спросил вопросов просто чтоб поебать мозг человеку
Похоже на то. Но если вставляю ["a" ; "b"]- код не выполняется. Подскажи, как быть? Я совсем не кодер, но понадобился небольшой скрипт, пытаюсь склеить его по гайдам.
Бля, чувак, я понимаю что ; не катит т.к это синтаксис JS, но как ебануть это разделение для рашки другим способом- я хуй знает. Написал же, что опыта в программировании не имею ВООБЩЕ.
Ты или подскажи, либо сразу нахуй пошли, пойду искать ответы в других местах, зачем устраиваешь тут клоунаду?
>Doug Martin is the original author. This is merely a temporary fork to support alternate cell delimiters.
Я закрыл нахуй после этих слов если честно.
И в оригинальной библиотеке разделители уже есть, я сорцы чекнул.
если да то как можно исправить ?
в смысле ? Чувак третий час ночи я в сарказм после 1:00 не могу
а тебе точно нужно при каждом ререндеринге создавать заново функцию 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=>...)
для чего может потребоваться писать нодой данные в файл экселя?
html* fix
Вся суть SPA в том что не нужно постоянно реакт загружать или ангуляр. И цсску твою.
function({row,rowId, index}, e) {}
как ее блять победить? Как получить доступ к этим вот переменным, переданным таким способом, я думал просто позвав их по именам, но нихуя - андефайнед. И как называется этот тип передачи параметров на ангельском - почитаю хоть за ес6.
похоже на релейт https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
>>971702
Да, это деструктуризация объектов, таки, хотя большая часть и МДН тоже, забыли блядь написать о такой операции как передача объекта через деструктуризацию. А либа - хуита, это она не возвращала значения, потому что уебок, что ее писал привел один пример для 20+ ивентов и именование для каждого ивента важно, потому на 19 его пример не пашет, как юзать остальные кроме описанного этот хуй нигде не написал. Бен Крипс - ссыте ему в рот. когда встретите.
вангую нужно в экселе указывать делимитер.
загляни в файл, и посмотри как разделены столбики и укажи это в экселе
в апстриме у меня указыны два порта
upstream vChatDevNode {
ip_hash;
server 127.0.0.1:11200;
server 127.0.0.1:11201;
}
но теперь в терминале я всегда вижу что апстим работает с портом 11200
если я правильно понимаю, апстриму нужно разные айпи, Антоха плиз зайди на минуту проверить это https://dev.videochat.red/room/English Room
Тут просили передать, что @vladimir любитель побаловаться толстыми клиентами под хвост.
Только если ты жавапетух.
На востоке популярно. Можно в сингапур какой мигрировать.
ага, четвертый лять
Китаец? Возможно.
сраный расист
Не ведись, если что-то сложнее хеловорлда, то это пиздец. Я сегодня зол на реакт-редакс как никогда, забеало уже велосипеды писать, потому что за несколько лет, ни одно чмо не сподобилось что-либо предпринять. Из коробки нихуя нет, сообщество ничего путнего не делает - ебать, ебись как хочешь, на каждый чих пиши свои либы. З А Е Б А Л О.
а что должно быть из коробки в библиотеке для вьюх ? какой библиотеки и для чего тебе не нашлось ?
Стоит ориентироваться на производительность. forEach предполагает, что замен в коде будет много, в этом случае лучше один раз слепить html и один раз вставить его в код вместо того, чтобы много раз подряд менять DOM. Если что-то разовое, то не принципиально.
В Chrome DevTools есть вкладка Timeline, почитай про нее. По ней отлично видно, что в твоем коде при отработке занимаетс сколько времени, на это стоит ориентироваться.
Как сделать так, чтобы js брал информацию из этого файла и отображал ее на странице? Чтобы еще каждый раз как скрипт обновляет файл, изображение на странице менялось
Не понимаю, почему нельзя сохранить инфу из ajax-запроса в глобальную переменную, почему первый алерт делает то что должен, а второй выдает undefined
Дело в том, что второй алерт, на самом деле - первый. жс не ждет когда закончится аджакс (АСИНХРОННЫЙ джс и хмл) и запишет его респонс в дата. Он просто идет дальше.
привыкнешь.
Кури промисы;)
потому что ()() такие выражения имеют изолированный скоуп.
Это копия, сохраненная 3 июня 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.