Datos GeekMaster
todo-jquery
Nacido en: mes 04/1982
Prov: ---
País: Argentina
Post creados




Noticias favoritas


Suscribite a mis Posts
Mejores Post
Jquery
Simpletip es un plugin para jQuery. Que permite crear tooltips con facilidad en cualquier ...
Algunos ejemplos basicos de como aplicar mascaras en Jquery...
Empezar con Ajax en Jquery, alternativas para su ejecucion....
Una introduccion a los primeros pasos de Jquery, para empezar a trabajar con este framewor...
jQuery es una biblioteca o framework de Javascript, creada inicialmente por John Resig, qu...
Tres ejemplos de algunas de las cosas que puedes hacer utilizando el método $.exten...
Datos sobre mi Geek
6 conocimientos cargados
Última post: 27-07-2011 09:07:46 hs.
Creado: 08-03-2010 11:03:30 hs.

Datos post
3801 visitas
1 Comentarios

En:
Flog
Noticia




Metodo extend en jquery

Tres ejemplos de algunas de las cosas que puedes hacer utilizando el método $.extend() de jQuery: fusionar objetos y arrays, utilizar opciones predeterminadas en una función y extender jQuery

$.extend() es uno de esas funciones de jQuery que quizás no son las que más utilizarías al comenzar a trabajar con este estupendo framework, pero que con el tiempo descubres que puede ser de inmensa ayuda, ya que es una solución simple a una tarea bastante común: mezclar objetos o arreglos.

Revisaré tres ejemplos de uso. Claramente, se puede utilizar en muchísimos casos más; como siempre, los comentarios quedan abiertos para aportes. Para una referencia completa, puedes echar un vistazo a su documentación.

 

Fusionar objetos y arrays

Partamos por lo más sencillo. Supongamos que queremos sobreescribir un montón de propiedades de un objeto en particular (actualizar_comentario sobre comentario); por ejemplo:

 

var comentario = {
    autor : 'Jack Sparrow',
    email : 'noesreal@piratebay.org',
    sitio_web : 'http://www.imdb.com',
    contenido : 'Aaaaaarrgh... ye olde cannon blew me leg away',
    post : 1099,
    notificar_actualizaciones : 1,
    fecha : '2010-05-21'
}
 
var actualizar_comentario = {
    email : 'tampocoesreal@piratebay.org',
    notificar_actualizaciones : 0,
    autor : 'Davy Jones',
    fecha : '2010-05-28'
}
 
var nuevo_comentario = $.extend(comentario, actualizar_comentario);
 
/**
 * nuevo_comentario = {
 *  autor : 'Davy Jones',
 *  email : 'tampocoesreal@piratebay.org',
 *  sitio_web : 'http://www.imdb.com',
 *  contenido : 'Aaaaaarrgh... ye olde cannon blew me leg away',
 *  post : 1099,
 *  notificar_actualizaciones : 0,
 *  fecha : '2010-05-28'
 */
 
Y también funciona con arreglos:
 
 
var array1 = [0, 1, 2, 3, 4, 5, 6];
var array2 = [2, 1, 1, 2];
var nuevo_array = $.extend(array1, array2);
// nuevo_array = [2, 1, 1, 2, 4, 5, 6];
 

Opciones predeterminadas en una función

En PHP u otros lenguajes, es posible especificar fácilmente un valor predeterminado para un argumento en una función al definirla (por ejemplo, con algo como function mi_funcion($arg1='bazinga'){ //hacer algo }); sin embargo javascript no incorpora esta característica… por suerte tenemos a jQuery para venir al rescate: utilizando el mismo principio, podemos definir nuestros argumentos predeterminados como un objeto, y luego extenderlo con las propiedades que pasamos a la función. Por ejemplo:

 

function mi_funcion(args){
    opciones = jQuery.extend({
        clase_activa : 'active',
        animacion : 'slide',
        duracion : 150,
        idioma : 'es',
        mensaje : 'bazinga!'
    }, args);
    alert(opciones.mensaje);
}
 
//Y luego, al llamar a la función...
 
mi_funcion({ duracion: 200, idioma : 'en', mensaje : 'lorem ipsum' });
 

Extensiones a jQuery

Finalmente, es posible también utilizar $.extend() para aumentar las posibilidades de jQuery. Puedes agregar nuevos métodos, selectores personalizados, etc.

Por ejemplo, podrías agregar un pequeño método que se agregará a jQuery para saber si un determinado selector existe en la página actual:

 

jQuery.extend({
    exists : function(selector) {
        return ( jQuery(selector).length ) ? true : false;
    }
});
 
/**
 * Ejemplo de uso:
 *
 * if ( jQuery.exists('a[hreflang=en]') ) {
 *  alert('Hay enlaces hacia páginas en inglés');
 * } else {
 *  alert('No hay enlaces hacia páginas en inglés');
 * }
 */
 
 
fuente | yukei
RESULTADO DE LA BUSQUEDA
Buscando resultados para:
Comentarios del Post
1 de 1 Comentarios.
Dejar Comentario
v_omar dice:

Excelente post, lo probare
Fecha: 2011-08-08 15:07:30





Paginas:
1
Deja tu comentario sobre el Post
Nombre:









Open Feedback Dialog