Comments 21
Все равно не понимаю, почему jquery вдруг стал таким немодным? api который он предоставляет по прежнему великолепен.
Заменили бы внутренние реализации с учетом современных реалий в js, получили бы большой прирост производительности и модности.
Далеко не всегда хочется использовать js фреймворки типа vue/angular/react.
А вы попробуйте vue.
jQuery медленный, избыточен для мелких скриптов, но при этом недостаточен для серьезного приложения. Интегрировать его в любой реактивный фреймворк это боль и страдания.
Да я прекрасно пробую vue. Да, он хорош.
Но для небольших проектов (а их много), где не обязателен фреймворк, который поможет грамотно построить приложение, jquery вполне достаточен.
Да, jquery медленный, и я на это сетую тоже. В 3 версии они отказались от поддержки ie8, так почему бы не отказаться от sizzle (заменить на querySelector), например? Но по факту, активность разработки на github крайне низкая.
Zepto можно попробовать
На небольших проектах Vue работает очень хорошо. Это не монструозный Angular, который заточен под SPA из коробки
Если отказаться от sizzle, умрет поддержка CSS4-селекторов типа :has(), которой много где нет. Ну и sizzle по возможности и так старается использовать нативные функции для селекторов.
Подскажите, пожалуйста, что означает конструкция: if ({}.xxxx), имеется в виду фигурные скобки?
У объекта читается метод xxxx
, это укороченный вариант для Object.prototype.xxxx
. toString
у объекта особенный, он возвращает строку содержащую внутренне свойство [[Class]]
объекта: http://es5.javascript.ru/x15.2.html#x15.2.4.2, в некоторых ситуациях это свойство предпочтительнее, чем результат typeof:
({}).toString.call([]); // => '[object Array]'
typeof []; // => 'object'
Справочник аналогов функций jQuery на чистом JS: youmightnotneedjquery.com.
Единственный недостаток этого метода перед библиотекой Sizzle — он начинает работать только с IE9+.
В IE8 тоже работает, но с теми CSS-селекторами, которые понимает этот браузер.
Справочник не мой. Это просто дополнение к статье для тех, кому интересна тема.
Вы можете помочь сообществу, дополнив справочник (редактирование производится через GitHub).
var len = +second.length, /** Я не знаю зачем они преобразуют second.length в число, если по идее, это и так число (если кто-то знает, пишите в комментариях) */
по идея если второй элемент не массив, то результатом будет 0 и до первого массива ничего не будет добавлен, но не уверен
Зачем переписывать jquery, если его можно подключить? А если хочется получить только некоторые плюшки, то почему бы их не подключить отдельно из исходников самого jquery?
Я вас спрашивал — JQuery он разве не на чистом JavaScript написано?
Пишите прямо — мой чистый JavaScript
Зачем вы вводите в заблуждение начинающих программистов?
Реализация, аналог и адаптация для «чистого» JavaScript'а JQuery функции JQuery(); и прилегающие к ней