Зачем создавать функции Javascript как плагины jQuery? - PullRequest
11 голосов
/ 11 июня 2010

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

Каковы преимущества использования Javascript в качестве плагина jQuery?
Если их нет, есть ли потеря скорости при использовании плагина jQuery, который можно было бы легко реализовать и вне оболочки?

Большое спасибо заранее (просто пытаюсь чему-то здесь научиться).

Обновлено с примером:
http://plugins.jquery.com/project/base64
изначально
http://www.webtoolkit.info/javascript-base64.html

Ответы [ 3 ]

8 голосов
/ 11 июня 2010

Большая часть jQuery - это просто умная оболочка для существующих функций JavaScript. $('#some-element'), возможно, немного легче набрать, чем document.getElementById('some-element'), но в остальном мало чем отличается.

(я преувеличиваю, но лишь немного.)

Основная утилита jQuery - это возможность комбинировать различные его компоненты. Если я могу выбрать элементы с помощью селектора jQuery, а затем выполнить какое-то действие с этими элементами напрямую через функцию jQuery, то предпочтительнее, чем извлекать базовые элементы DOM и манипулировать ими, например, вручную.

Так что это действительно зависит от того, какие функции вы видите, обернуты. Некоторые из них вполне могут добавить никакой ценности, и авторы просто привыкли ко всему, что есть в jQuery. (Мы определенно видим это явление в StackOverflow - люди, которые не могут найти стандартную функцию JavaScript просто потому, что ее нет в документации по jQuery). В других случаях может быть некоторая скрытая выгода, даже если оболочка мало что делает для изменения поведения базовой функции.

4 голосов
/ 11 июня 2010

Существует также много импульсов вокруг jQuery и общего доверия. Включение произвольного javascript в базу кода может быть не таким «приемлемым» для вышестоящих типов, как включение нового плагина jQuery.

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

1 голос
/ 11 июня 2010

ИМХО единственная причина создания плагина состоит в том, чтобы выполнить некоторые функции для селектора, то есть для набора выбранных элементов, например,

$('.myelements').someFunction();

Если ваш плагин выглядит так (например, недавно выпущенный плагин Microsoft Globalization)

$.doSomeStuff();

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

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