2010-06-11 11 views
11

He visto muchas implementaciones de jQuery de funciones JavaScript existentes que simplemente envuelven el código JavaScript en un contenedor jQuery y no dependen realmente de ninguna de las bases de jQuery para su funcionamiento.¿Por qué construir funciones de Javascript como complementos jQuery?

¿Cuáles son los beneficios de usar Javascript como un plugin jQuery?
Si no hay una pérdida de velocidad para usar un plugin de jQuery que podría haberse implementado fácilmente fuera del contenedor también?

Muchas gracias de antemano (solo estoy tratando de aprender algo aquí).

Actualizado con el ejemplo:
http://plugins.jquery.com/project/base64
fue originalmente
http://www.webtoolkit.info/javascript-base64.html

+3

¿tiene un ejemplo de a qué se refiere? –

+1

Ejemplo, por favor ... (la respuesta es probablemente: "para permitir el encadenamiento de llamadas/interfaz fluida") – Shog9

+0

Por ejemplo, como http://plugins.jquery.com/files/jquery.cookie.js.txt o http: //code.google.com/p/jquery-json/source/browse/trunk/jquery.json.js o http://stackoverflow.com/questions/3024084/jquery-javascript-how-do-i-convert-a-pixel-value- 20px-a-un-número-valor-20/3024109 # 3024109? –

Respuesta

8

Gran parte de jQuery es sólo un envoltorio ingeniosa para esquivar las funciones de JavaScript existente. $('#some-element') es quizás un poco más fácil de escribir que document.getElementById('some-element'), pero por lo demás no es muy diferente.

(I exagerar, pero sólo ligeramente.)

La utilidad principal de jQuery es ser capaz de combinar juntos sus diversos componentes. Si puedo seleccionar elementos con un selector jQuery y luego realizar alguna acción en esos elementos directamente a través de una función jQuery, eso es preferible a tener que extraer los elementos DOM subyacentes y manipularlos manualmente, por ejemplo.

Por lo tanto, realmente depende de qué funciones esté viendo envuelto. Algunos de ellos bien podrían no agregar ningún valor, y los autores están simplemente acostumbrados a que todo esté en jQuery. (Definitivamente vemos ese fenómeno en StackOverflow, personas que no pueden encontrar una función de JavaScript estándar simplemente porque no está en la documentación de jQuery). En otros casos, puede haber algún beneficio oculto incluso si el contenedor hace poco o nada para modificar el comportamiento de la función subyacente.

+3

Uno de los principales beneficios de usar una biblioteca como jQuery es también el hecho de que maneja la detección del navegador y abstrae elementos como seleccionar/manipular elementos. Este es un gran beneficio para cosas como ajax y CSS. Por ejemplo, si llama a $ (selector) .css ('opacidad', 0.5), simplemente funciona, no tiene que preocuparse por configurar una regla de filtro para IE. –

+0

@ Harold1983, "maneja la detección del navegador", ¿dónde? ... jQuery es todo detección/inferencia de características. – James

+1

Probablemente quiso decir internamente como en, es lo suficientemente inteligente como para funcionar en todos los navegadores. – Mohammad

4

También hay un gran impulso en torno a jQuery y confianza general. Incluir javascript arbitrario en su base de código puede no ser tan 'aceptable' para los tipos superiores como incluir un nuevo complemento jQuery.

Así que puede ser una percepción errónea, pero al ser un plugin jQuery, una biblioteca se beneficia al estar asociada con un código de alta calidad.

+0

Voto tu respuesta porque es verdad, pero al mismo tiempo, oh, qué triste :( – SBUJOLD

1

mi humilde opinión, la única razón para crear un plugin es para ejecutar algunas funciones contra un selector es decir, un conjunto de elementos seleccionados por ejemplo

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

Si el plug-in termina pareciéndose a esto (ejemplo de ello el recién lanzado Microsoft Plugin de globalización)

$.doSomeStuff(); 

entonces no hay mucho beneficio que no se puede obtener con el uso de un cierre. Sin embargo, muchos desarrolladores no comprenden los cierres y espacios de nombres en javascript, y al seguir una plantilla de desarrollo de complementos, pueden obtener el beneficio sin comprender completamente el patrón.

Cuestiones relacionadas