JavaScript  »  Guide  »  Guida jQuery 

Lavorare con gli oggetti



Per quanto riguarda gli oggetti, le due funzioni offerte da jQuery sono each e extend.

each

$.each() permette di definire operazioni da compiere ciclicamente su tutti gli elementi di una collezione, è molto simile a $.map(), ma accetta sia array che oggetti JavaScript come primo argomento.

Nel caso che segue vediamo che la funzione interna ha come argomenti le chiavi e i valori di un oggetto. Inoltre è possibile interrompere il ciclo inserendo un return false:

var oggetto = {"uno":"primo","due":"secondo","tre":"terzo"}

var oggettoFinale = {}; //un oggetto vuoto

$.each(oggetto,function (chiave,valore) {
    oggettoFinale[chiave]    = valore;
    if (chiave == "due") {
        // esce alla chiave 2
        return false;
    }
});

//oggettoFinale = {"uno":"primo","due":"secondo"}

extend

$.extend() estende l'oggetto passato come primo parametro con le proprietà del secondo. È importante ricordare è che la funzione modifica direttamente il primo oggetto e sovrascrivendone le chiavi:

var oggetto1 = {"uno":"primo","due":"due"};
var oggetto2 = {"due":"secondo"};

// oggetto1.due == "due"
$.extend(oggetto1,oggetto2);

// oggetto1.due == "secondo"

Per essere sicuri di non modificare, sovrascrivendole, le proprietà degli oggetti pre-esistenti è necessario creare un nuovo oggetto passando come primo argomento un oggetto vuoto:

var oggetto1 = {"uno":"primo","due":"due"};
var oggetto2 = {"due":"secondo"};

var oggetto3 = $.extend({},oggetto1,oggetto2);

// oggetto1.due == due
// oggetto3.due == secondo

Serializzare gli elementi

Come visto nella lezione su AJAX è possibile passare dei dati da inviare al server sotto forma di oggetto o stringa serializzata del tipo "chiave=valore&...".

A questo scopo si può utilizzare $.param(), che accetta sia un oggetto JavaScript che una collezione di elementi form, i cui dati verranno serializzati rispettivamente nelle forme chiave=valore e nomecampo=valore.

var oggetto = {"uno":"primo","due":"due"};

var stringa = $.param({"uno":"primo","due":"due"});

//stringa = "uno=primo&due=secondo"

Lavorare sulle stringhe

L'unica funzione introdotta in jQuery per manipolare le stringhe è $.trim(), con la quale gli spazi all'inizio ed alla fine della stringa vengono eliminati:

$.trim(" stringa   ");
// restituisce "stringa"

Lavorare sulle funzioni

A differenza di altri framework, jQuery fornisce un'unica utility da utilizzare sulle funzioni, $.isFunction(), che restituisce true o false se l'argomento passato è una funzione o meno.

Ultimi articoli JavaScript

PhantomJS, headless browser per test con Javascript

Il tool ideale per realizzare, da terminale, operazioni in remoto su...

Creare e leggere QR Code in JavaScript

Applicazioni 'QR Code enabled' per il Web e per il mobile,...

Jquery UI Map: web-mapping con Google Maps e jQuery

Un plugin di jQuery UI per intefacciare applicaizoni Web/mobile con...

Scrollorama e Scrolldeck, slideshow d'effetto con jQuery

Plugin jQuery per ottenere Slideshow con diversi effetti di scrolling

jCanvas, un primo semplice grafico

Alla scoperta della libreria jCanvas, per semplificare il disegno e...

Altri articoli

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti