lunes, 8 de septiembre de 2014

Jquery - Métodos Utilitarios

jQuery ofrece varios métodos utilitarios dentro del espacio de nombres $. Estos métodos son de gran ayuda para llevar a cabo tareas rutinarias de programación. A continuación se muestran algunos ejemplos, para una completa documentación sobre ellos, visite http://api.jquery.com/category/utilities/.

$.trim

Elimina los espacios en blanco del principio y final de la String que se pasa por parámetro.
$.trim('    varios espacios en blanco   ');
    // devuelve 'varios espacios en blanco'

$.each

Interactúa en vectores y objetos.
Su función es recorrer los valores de un array o de un objeto desde el primero hasta el último.
$.each([ 'foo', 'bar', 'baz' ], function(idx, val) {
    console.log('elemento ' + idx + 'es ' + val);
});
    
$.each({ foo : 'bar', baz : 'bim' }, function(k, v) {
    console.log(k + ' : ' + v);
});
Nota
Como se dijo antes, existe un método llamado $.fn.each, el cual interactúa en una selección de elementos.

$.inArray

Devuelve el índice de un valor en un vector, o -1 si el valor no se encuentra en dicho vector.
var myArray = [ 1, 2, 3, 5 ];
    
if ($.inArray(4, myArray) !== -1) {
    console.log('valor encontrado');
}

$.extend

Cambia la propiedades del primer objeto utilizando las propiedades de los subsecuentes objetos.
var firstObject = { foo : 'bar', a : 'b' };
var secondObject = { foo : 'baz' };

var newObject = $.extend(firstObject, secondObject);
console.log(firstObject.foo); // 'baz'
console.log(newObject.foo);   // 'baz'

Si no se desea cambiar las propiedades de ninguno de los objetos que se utilizan en $.extend, se debe incluir un objeto vacío como primer argumento.

var firstObject = { foo : 'bar', a : 'b' };
var secondObject = { foo : 'baz' };

var newObject = $.extend({}, firstObject, secondObject);
console.log(firstObject.foo); // 'bar'
console.log(newObject.foo);   // 'baz'

$.proxy

Devuelve una función que siempre se ejecutará en el alcance (scope) provisto — en otras palabras, establece el significado de this (incluido dentro de la función) como el segundo argumento.
var myFunction = function() { console.log(this); };
var myObject = { foo : 'bar' };

myFunction(); // devuelve el objeto window

var myProxyFunction = $.proxy(myFunction, myObject);
myProxyFunction(); // devuelve el objeto myObject

Si se posee un objeto con métodos, es posible pasar dicho objeto y el nombre de un método para devolver una función que siempre se ejecuta en el alcance de dicho objeto.
var myObject = {
 myFn : function() {
  console.log(this);
 }
};

$('#foo').click(myObject.myFn); // registra el elemento DOM #foo
$('#foo').click($.proxy(myObject, 'myFn')); // registra myObject

No hay comentarios:

Publicar un comentario