Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Lavorare con gli oggetti

Serializzazione degli elementi, stringhe e funzioni
Serializzazione degli elementi, stringhe e funzioni
Link copiato negli appunti

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.

Ti consigliamo anche