Реализация, аналог и адаптация для «чистого» JavaScript'а JQuery функции JQuery(); и прилегающие к ней

Комментарии 16

  • 19 августа 2017 в 22:41

    +2

    Все равно не понимаю, почему jquery вдруг стал таким немодным? api который он предоставляет по прежнему великолепен.
    Заменили бы внутренние реализации с учетом современных реалий в js, получили бы большой прирост производительности и модности.
    Далеко не всегда хочется использовать js фреймворки типа vue/angular/react.

    • 19 августа 2017 в 22:51

      +2

      А вы попробуйте vue.


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

      • 19 августа 2017 в 23:03

        0

        Да я прекрасно пробую vue. Да, он хорош.
        Но для небольших проектов (а их много), где не обязателен фреймворк, который поможет грамотно построить приложение, jquery вполне достаточен.
        Да, jquery медленный, и я на это сетую тоже. В 3 версии они отказались от поддержки ie8, так почему бы не отказаться от sizzle (заменить на querySelector), например? Но по факту, активность разработки на github крайне низкая.

        • 08798270af2ceae87b2f246f61f30129_small.j

          19 августа 2017 в 23:49

          0

          Zepto можно попробовать

        • 20 августа 2017 в 00:36

          0

          На небольших проектах Vue работает очень хорошо. Это не монструозный Angular, который заточен под SPA из коробки

        • a995b0f9e11086a99d573d530edfb9c5_small.p

          20 августа 2017 в 03:17

          0

          Если отказаться от sizzle, умрет поддержка CSS4-селекторов типа : has (), которой много где нет. Ну и sizzle по возможности и так старается использовать нативные функции для селекторов.

    • 92210b2bd31db00b4ff6af9e142b7d5a_small.j

      20 августа 2017 в 09:56

      0

      Я слышал, что в версии 4 они так и сделают. Может слухи.
  • 19 августа 2017 в 22:59

    0

    Сто извинений.
    Подскажите, пожалуйста, что означает конструкция: if ({}.xxxx), имеется в виду фигурные скобки?
    • 20 августа 2017 в 01:27

      0

      У объекта читается метод xxxx, это укороченный вариант для Object.prototype.xxxx. toString у объекта особенный, он возвращает строку содержащую внутренне свойство [[Class]] объекта: http://es5.javascript.ru/x15.2.html#x15.2.4.2, в некоторых ситуациях это свойство предпочтительнее, чем результат typeof:


      ({}).toString.call([]); // => '[object Array]'
      typeof []; // => 'object'
  • 5a318c0103fdb631156bf7b3e961d6a3_small.j

    20 августа 2017 в 02:29

    0

    Справочник аналогов функций jQuery на чистом JS: youmightnotneedjquery.com.


    Единственный недостаток этого метода перед библиотекой Sizzle — он начинает работать только с IE9+.

    В IE8 тоже работает, но с теми CSS-селекторами, которые понимает этот браузер.

    • 92210b2bd31db00b4ff6af9e142b7d5a_small.j

      20 августа 2017 в 09:51

      0

      В вашем справочнике рассказывается не про все функции, к сожалению
      • 5a318c0103fdb631156bf7b3e961d6a3_small.j

        20 августа 2017 в 12:42

        0

        Справочник не мой. Это просто дополнение к статье для тех, кому интересна тема.


        Вы можете помочь сообществу, дополнив справочник (редактирование производится через GitHub).

  • 2a7ac0dbc3251e33733f582da9bac91a_small.j

    20 августа 2017 в 09:51

    0

    var len = +second.length, /** Я не знаю зачем они преобразуют second.length в число, если по идее, это и так число (если кто-то знает, пишите в комментариях) */

    по идея если второй элемент не массив, то результатом будет 0 и до первого массива ничего не будет добавлен, но не уверен

  • 20 августа 2017 в 09:51

    0

    Зачем переписывать jquery, если его можно подключить? А если хочется получить только некоторые плюшки, то почему бы их не подключить отдельно из исходников самого jquery?

  • 20 августа 2017 в 09:51

    0

    Юрий Спивак, зачем вы не приняли мой комментарий?
    Я вас спрашивал — JQuery он разве не на чистом JavaScript написано?
    Пишите прямо — мой чистый JavaScript сильнее быстрее чистого JavaScript от разработчиков JQuery.
    Зачем вы вводите в заблуждение начинающих программистов?
  • 92210b2bd31db00b4ff6af9e142b7d5a_small.j

    20 августа 2017 в 10:59

    0

    К сожалению, я не смогу выпускать новые статьи, так как появился форс-мажор, который отнимает всё свободной время и вообще, данная тематика мало кого интересует (судя по комментариям). А если вы хотите узнать о том, как работают функции jQuery, откройте исходники и проследите все их действия. Приятного чтения :)

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

© Habrahabr.ru