Обсуждение:JavaScript

Материал из Lurkmore
Перейти к навигации Перейти к поиску

Эта статья по состоянию на начало десятых, написанная пхпшником, быдлокодевшим на С. Можно НУЖНО вбросить больше нямки про фреймворки-нодики-тайпскриптики, а хуету про jquery выпилить к ебеням, оставив лишь ключевые моменты.

Пиши. ICAN (обсуждение) 17:20, 6 ноября 2020 (MSK)

Статью писали какие-то понтовщики писаки на JavaScript c очень высоким уровнем ЧСВ. Нифига не смешно, не лулзово и т.п. Кроме того есть сомнение в компетентности этих людей. Переписал бы кто.

Может запилим плашку " для красноглазиков\ программеров " ? Ибо дохуя статей, и все в хуй знает какой категории.

{{языки программирования}} же!

У автора <s> головного мозга. Срочно вылечить.

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

alert(document.cookie);
Не действует для HTTP-Only cookie.

Протокол JavaScript. И источник истинной истины тоже так считает! http://ru.wikipedia.org/wiki/Xss

а я на яваскрипте говно для огнелиса создал откройте http://ixon.tk/131/inde2x.html

JScript

Реквестирую добавление описание рассово верного JScript. На нем не только свистелки-перделки в веб-страницы добавляют, но и пишут вполне серьезные проекты. ASP тот же.

Perl-style

javascript:(É=[Å=[],µ=!Å+Å][µ[È=-~-~++Å]+({}+Å) [Ç=!!Å+µ,ª=Ç[Å]+Ç[+!Å],Å]+ª])() [µ[Å]+µ[Å+Å]+Ç[È]+ª](Å); void 0

всего лишь alert(1), но зато как жутко выглядит. Есть даже объяснение.

не работает в navigator.userAgent=="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36"

Удолить

  • Щитаю, нужно удолить, ибо нет ни особой значимости, ни лулзов.
    • Угу, мля, и не соответствует ЛМ:ЧНЯЛ. И вообще, надо выпилить все статьи, которые неинтересны школьникам, младенцам и дебилам. :) Тема имеет право на существование, и лучше уж надеяться что кто-нибудь ее допилит, чем ждать, пока ее напишут заново. OneHalf 09:57, 4 сентября 2010 (MSD)
      • Оставьте эту статью в покое. У нас, видите ли, статей мало. Надо сначало создать статью про HTML, а потом объединить их вместе. Все просто и практично. А вот насчет идеи выпиливания — сосите хуй, луркоебы!
        • не удаляйте плиз

Оставить статью!

Все! Создаем организацию по защите говностатей путем удаления всякой неведомой хуйни и добавления хороших фактов. Начнем пожалуй с этой. Ладно, хватит пиздеть! Пора спасать статьи!

Что за ебанутая пикча?

Что за ебанутая пикча («Что ты назвал ЯваСкрипт Явой?») даже стыдно на нее смотреть. Удолить ее (Пикчу) нахуй!

Статья тоже ебанутая

Предлагаю выпилить ее на хуй и написать все с нуля. Не нравится с самого начала и ни разу не смешно, нигде. Даже статья про пхп и то смешнее. И вообще кто написал в начале, что это язык без типов данных? Есть там типы. Могу перечислить: простые типы: строка, число, булев тип; специальные типы: null, undefined; и объекты.

автор долбоеб [facepalm]

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

Алсо, упомянуть в диалоге программирование - лучший способ контрацепции. Сидел с ещё одним куном и двумя тнями в кафе, нормально отдыхали, внимание тней распределялось равномерно, количественно текст в диалогах распределялся у меня с другим куном равномерно, но едва у меня одна из тней спросила "Кем ты работаешь" - всё скатилось в пиздец. Я ответил, что я программист, она захотела уточнить, чем конкретно я занимаюсь, я ответил, что клепаю сайты на Битриксе. После чего на меня внимания больше не обращали. Я допил пиво, ушёл, никто не заметил.

ПИЗДЕЦ, БЛЯДЬ, ПИЗДЕЦ, ПОЧЕМУ БЛЯДЬ ВСЕ ТНИ НЕ ОДИНОКИЕ, КОМПЛЕКСУЮЩИЕ БЫДЛОКОДЕРШИ?!

Доброчан/rf

Пример в статье не работает

Array.prototype.newFunc = function () { 
    return this.join(':');
}

не работает так, как написано.

«функция newFunc, возвращающая строку, состоящую из значений элементов с двоеточиями, будет добавлена к каждому массиву (Array)»

ЗАТРАЛЕНО

Автору рекомендую пойти на hh.ru и посмотреть сколько получает JS программист в ДС.

  • "Web-программист", средняя 60 т.р. - это значит от 40 до 80. Возраст - до 35 лет. Ещё учесть перерывы между контрактами. Так что раздели свою зарплату на два и отползай в сторону кладбища.
    • "Web-программист"... куда ты лезешь, хуесосина двухтысячная?

Неа, я б ниасилил

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

А конечно б ты не осилил, дворник ебаный. Иди соси дальше, нах — Успешный быдлокодер фрилансер

Замыкание

window.onload = function () {
    with (document) {
        writeln ("Hello, World!");                /* да, это замыкание; дальше соображай сама */
    }
}

Где тут замыкание? Автор считает, что глобальная переменная document (она же поле объекта window) "попадает в замыкание" благодаря использованию богомерзкой конструкции with?

Про ненужность node.js

Нужно больше про ненужность node.js и ущербность JavaScript на северере по сравнению с JAVA/ASP.NET/Python/Ruby/etc.

  • +1

Нужно больше про ненужность быдлокодеров, не способных понять банальную асинхронность, поэтому ноющих какое же node.js говно.

Нужно больше про ненужность неасиливших Erlang быдлокодеров, не способных понять банальную параллельность, поэтому повсюду носящимся со своим одноядерным говном node.js.
нужно подрочить на срущих коров как Иван Гамаз и пойти назуй вместе со своим Эрлангом

Кое что странно

Вы пишите "Если это, к примеру, похапэшник, пришедший подхалтурить — он всегда готов помочь и спешит на помощь. И наш герой впадает в ступор, узнав, что точки в яваскрипте служат не для склеивания строк, а для склеивания непонятно чего непонятно с чем."

Мне трудно представить, что человек знает PHP, но не знает JavaScript. Ведь PHP используется для создания сайтов, а какой сайт может быть без JavaScript? Более-менеее нормальный сайт.

И причём по моему создателю сайтов приходится писать на JavaScript больше чем на php и скорее всего намного больше. По моему веб-программист сначала изучает html, затем JavaScript и только потом php. Именно в этой последовательности. И сначала он начинает писать на html, потом у него возникает необходимость использовать JavaScript и уже потом когда у него возникает очень много однотипных страниц он начинает задуматься об этой проблеме и изучает php. В общем у начинающих веб-программистов всё это идёт именно в такой последовательности.

Анонимус Ничего странного. Школота учит как строгать сайты по видеоурокам, а там от верстки сразу переходят к пхп. Школоло в надежде сначала выучить похапэ (ну не терпится им изучить великий и ужасный пых), а потом подтянуть js, так никогда и не осиливает жабаскрипт, ибо в js даже бывалого пхпшника ждут большие сюрпризы и разочарования. А школоло максимум что могут, это написать говнокод в пару строк на jQuery. Если же говорить о более взрослом контингенте, то картина та же. Зайдя на javascript.ru и узрев там множество длиннющих слов, разбавленных точками и скобками, анонимус рожает пару кирпичей и идет постигать азы пхп.

Нужно больше ненависти!

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

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

Такое часто наблюдается с ЛС в ВК при очень медленных интернетах. Хорошо, хоть хром кеширует насмерть.

Более четверти программистов Яндекса - JavaScript'еры

Пруф. Стоит добавить инфу об этом в статью вместе с диаграмкой. — Анонимус

  • Ага, и допейсать туды, шо яндекс — тоталитарный корпоративный курятник ©Кодач.

Пёрфект виджетс тчк ру

убер-ссылка в разделе "ИЧСХ" это пиар параши. раз уж хочется примеров актуального (лет пять, господа, как актуального) вижуала с участием js - chromeexperiments.com рад привести вам годные, нажористые примеры. а пиар рашен-парашен просто говорит о, мягко скажем, неактуальности статейки лет на несколько.

  • Эта ссылка была найдена на просторах RSDN'а и добавлена в статью как единственное, что знали, в надежде, что Анонимус допилит. Это не было саморекламой. Ждём.

Единственный недостаток.

Единственный, блять. Быдлокодеры - не недостаток, их везде хватает. Динамическая типизация - вот это действительно недостаток. Причем не просто недостаток, а пиздец, от которого хочется ВЗЯТЬ И УЕБАТЬ. Блять. Присваивается что угодно к чему угодно, без проверки типов, классы меняются на ходу - и это я должен пускать на свою машину? Хуй там, каждому, кто пишет ебаные говноскрипты на этой хуите надо взять, уебать, а потом еще разбить системник об голову, чтобы блять никогда больше не подходил к клавиатуре с мыслью "ну яж программист". Убогие.

что плохого в динамической типизации? я много про ее недостатки читал, но проблем с ней у меня никогда не возникало Вафельный рожок
У меня тоже не возникало, но, IMHO, возможность вставить строковую переменную там, где ожидается число - уже перебор.
Взалкал чОткой типизации - используй С или Java. Разрабатываешь прототип - используй Python или JavaScript. Если проект взлетел и дело идет к набору быдлокодеров (и неминуемым логическим ошибкам) - переведи проект в Java. Чтобы их индусский код блокировался на стадии компиляции. Спрашивать "Что лучше - динамическая или статическая типизация?" - это такое же западло, как вопрос о том, кого больше любишь - папу или маму.
Это у Це-то "чОткая" типизация? Порой еще неизвестно, что хуже - динамическая, или статическая - но слабая "as in C". Нормальную типизацию завезли в Це-подобные начиная с Java, и то - с оговорками. Любивно и прельстиво пишется на Scala или на C#, на худой конец. К сожалению, полноценного Хиндли-Миллера в мейнтсрим все никак не завезут, если не считать тех же Scala и F# - но разработчиков на них (и проектов, соответственно) найти - архисложная задача.
В С# с их var-ами и прочей perlовкой и лямбдами типизация куда "слабее", чем в Java. Java - последний оплот "строгого" ООП в океане всякой функциАнально-подобной непотребщины (вроде того же JS)
О, подтянулись быдлокодерки, путающие теплое с мягким, а именно - явную/неявную типизацию со строгой/нестрогой. Статическая типизация не дает присваивать стол дивану, сильная - запрещает считать стул креслом без построения отдельного объекта типа "кресло" на основе стула. Var/val/auto etc - это ключевые слова неявной типизации, лишь означающие, что тип переменной выводится автоматически из того, что ему присвоили, дабы сократить запись и облегчить читаемость кода, что особенно актуально было для плюсов с их мозговзрывающими конструкциямии типа «for (std::vector<std::map<int, std::string>>::const_iterator it = container.begin(); it != container.end(); ++it){}». Очевидно, что вся динамикохуита обречена быть неявно типизированной, потому что тип переменной там вообще очень условное понятие, но строгость системы типов от этого не зависит. Да будет вам известно, что существуют такие языки, как OCaML, Haskell, да те же Scala и F#(который тоже, в общем-то Ocaml), которые неявно, но очень строго типизированы. Читайте про вывод типов и Хиндли-Милнера.
Не спорю, такие языки существуют, но "шарпы", после появления auto и dynamic к ним не относятся. Да и С++, например, тоже уже не относится, хотя в нём такого (пока) нет. Т.е. да, в них есть "сильные" типы, но извини меня, когда каждая первая переменная - это указатель void или Object, с произвольно добавляемыми полями - это не сильная типизация. В Java, кстати, тоже можно так писать (все методы - через список анонимных реализаций Function, например), но неправильность этого сразу будет мешаться. А в C# же, сделали "удобно", в С++ всяких монстров понаписали и т.д.
Dynamic в шарпе используется чуть чаще, чем никогда в крайне специфических ситуациях типа отправки дополнительных данных на клиент в обход модели. А так-то, и в Хаскелле аналог был, не помню как называется, да и вообще - если очень хочется, динамическую типизацию средствами статической можно изобразить в любом языке, вопрос только в целесообразности. В Java, например, где нет вменяемого полиморфизма, коллекции реализованы через изъебства с Reflection, с помощью которого можно аналогичный Dynamic тип, в принципе, реализовать, опять же, если не лень и есть внятная причина. А касательно C++ - при наличии таких вещей, как c-style тайпкастинг (в шарпе есть подобный синтаксис, но это не более, чем синтаксический сахар, скрывающий под собой явный вызов Convert.To$typename$), а в особенности волшебного reinterpret_cast<> о "сильной" системе типов говорить не приходится. Когда каждая переменная - Object или (void*)... могу только посочувствовать, что приходится с подобным работать, но тогда менять надо не язык, а место работы, потому что есть некий особый, волшебный подвид быдлокодеров, представитель которого всегда найдет способ избежать любых ограничений языка, хоть ты Turbo Pascal ему подсунь. Встретишь такого - беги нахрен, пока жив. Java в этом плане тоже не панацея, я и на ней такого быдлокода насмотрелся, что до сих пор по ночам вздрагиваю. К тому же, Java полна не слишком заметных, но иногда от этого не менее неприятных исторических атавизмов, от которых Oracle и не думает ее избавлять по причине «обратной совместимости» - это при том, что интерфейс на JavaFX, например, все равно иногда напрочь отказывается работать с другой версией JVM, чем был написан, даже более поздней.
Это в Java-то не делают касты к Object? Вообще-то, приведение вообще любых типов к Object - это официально одобренная стратегия поведения самими разработчиками Жабы, гугли type-erasure. Все из-за убогого легаси-дизайна JVM который разработчики не хотят менять "ради обратной совместимости" и таскают за собой тонны костылей. Фублять. Нахуй это говно.

Реквестирую картинку про Good Parts

http://nelsonwells.net/wp-content/uploads/2011/06/javascript_good_and_bad_parts.jpg

И чтоб два раза не вставать, WAT (https://www.destroyallsoftware.com/talks/wat)

Java

Sun или Оракл?

Тогда был Sun.

Обучение

Learn.javascript - говно не учебник. Codecademy + W3schools лучше.

так толсто, что даже тонко


== JQuery ==

Стоит добавить, что очень часто подключают jQuery ради того, чтобы один-два раза вызвать элемент по его идентификатору $('#myID'), ибо не знают ванильного аналога.

Про getElementById не знают разве что школьники. Меня больше другое интересует, как все орущие про ненужность, избыточность, тормоза jQuery пишут AJAX запросы? Или на старых IE их быдлокод тупо не работает?

Я не ору про ненужность jQuery, но делаю POST- и GET-запросы с помощью этого объекта. Здесь кроссбраузерный, в том числе и для ослов, код для его создания; писал не я. Этой библиотеки не требует.

/* Создание нового объекта XMLHttpRequest для общения с Web-сервером */

        var xmlHttp = false;
        /*@cc_on @*/
        /*@if (@_jscript_version >= 5)
        try {
         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
        try {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e2) {
         xmlHttp = false;
         }
        }
        @end @*/
        if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
        xmlHttp.overrideMimeType('text/plain; charset=utf-8');
        }
        /* Конец блока создания нового объекта XMLHttpRequest для общения с Web-сервером */

AngularJS

Пора таки обновить страницу и запилить годную инфу о фреймворке AngularJS. Ну и о новом ECMAScript 6.

  • Через 3 года всё уйдёт в облака, а ещё через 3 изобретут ИИ который будет пейсать программы вместо погромистов, так что погромистам будет нечего делать. Расслабься и не делай ничего, нас ожидает общество изобилия, где всё есть и ничего делать не надо. Мамке так и объясни. 6 лет на её зарплату проживёте, а там уже и деньги отменят. Будеш заходить в магазин и ПРОСТО брать что что нужно. Отрабатывай свои навыки игры в дотан или повесь гирю на член, чтобы он растягивался и стал огромным через 6 лет. Всяко полезней чем погромирование будит.
Ангуляр уже не в моде сейчас привлекательнее Vue.js и React. Виртуальный дом, двусторонний биндинг, мешанина из разметки и яваскрипта — вот наше все. Отход от модели MVC.

Очепатки

констольные

йА залогинелся с твоево кампа и есправил, спосибо.

И за что его любят?

В статье про PHP тонны ненависти, абсолютно заслуженной при том. А тут сплошь любовь и обожание - и какой "красивый" язык, и какой он, якобы, "гибкий" (гибкость, в данном случае, синоним возможности наступить в говно посреди операционной). А по факту имеем что? Динамически слабую систему типов, которая проглотит любую операцию, ебанутое напрочь "(прото)типа-ООП", и откровенные проебы в базовой архитектуре типа контекста var, о починке которых задумались впервые этак на 20м году жизни языка, при этом пришлось запилить ретранслятор JS в JS, потому что без костылей вся эта конструкция наебнется к хуям. Тысячи фронтенд-фреймворков, каждый год сменяющих один другого - AngularJS, Angular2/4/7/1000500, React, Vue, при этом не меняющих принципиально ничего, кроме того, что скриптокодерку теперь в очередной раз надо начинать заново учиться делать одни и те же действия, бесконечно нахуй. И ладно бы это все было просто для того, чтобы пару HTML-тегов без перезагрузки поменять, так ведь нет же - ебнутые на всю голову умники выдрали этот их якобы "высокопроизводительный" V8 из браузера и притащили его на бекенд. При этом повторяя как мантру "асинхронность, асинхронность..." - да в жопу ебитесь со своими коллбеками, async-await сто лет как умеет любой мейнтсримовый язык, даже в C++ не проблема изобразить. При этом на однопоточный рантайм, скорость работы сопоставимую с вычислениями вручную и ебейшее потребление ресурсов даже по сравнению с джавой кладется болт, зато у нас ИЗОМОРФНЫЙ РЕНДЕРИНГ, блеать. Или, если по-русски, быдлокодерки не могут осилить ничего сложнее ебаного JS, но вместо того, чтобы смириться с этим и клепать свой говнофронтенд, они у нас теперь "фуллстек-JS программисты". Это просто пиздец.

Мы ангулярщики пьём смузи, а затем порем друг-друга в жопы. Всё ОК.

Yoda Conditions

Причем тут вообще паскаль? Такое скорее характерно для Си-подобных языков, где легко перепутать = (присваивание) и == (сравнение). См. вики


Вот именно. Автор замечания, по ходу, сам паскалевидная обезьяна? Причем здесь оператор строгого сравнения к Yoda conditions? Жертва ЕГЭ.