back to top

Oggetti nativi di javascript (metodi e proprietà)

Come detto nella lezione introduttiva, Javascript è un linguaggio orientato agli oggetti, questo significa che allo sviluppatore è consentito creare degli oggetti personalizzati (come vedremo in una delle lezioni conclusive di questa guida) e che nelle stesse API del linguaggio sono già presenti degli oggetti nativi che vengono messi a disposizione dello sviluppatore.

In quest’ultima accezione possiamo, dunque, definire un oggetto come la parola chiave che permette di richiamare una libreria incorporata nel browser: ma un oggetto da solo serve a poco… bisogna, infatti, che un metodo o una proprietà vi facciano riferimento.

La sintassi corretta per separare il nome di un oggetto da un metodo o da una proprietà è:

oggetto.metodo(parametri)

oppure

oggetto.proprietà

dunque con l’utilizzo del carattere punto (.) quale elemento di concatenazione tra l’oggetto ed il metodo o la proprietà.

I nomi dei metodi sono seguiti da parentesi tonde all’interno delle quali si "passano" dei parametri, diversi (per numero e tipo) a seconda del caso. Le proprietà, invece, restituiscono (GET) o settano (SET) dei valori propri dell’oggetto in questione.

Nel corso delle prime lezioni di questa guida abbiamo già visto all’opera un metodo, più precisamente il metodo write dell’oggetto document:

document.write('Scrivo qualcosa...');

Vediamo ora un esempio circa il funzionamento delle proprietà sia per recuperare un valore (GET) che per settarne uno nuovo (SET). Per il nostro esempio faremo riferimento alla proprietà href dell’oggetto location:

/*
Estraggo la URL della pagina corrente
/*
var pagina = location.href;

/*
Setto una nuova URL per un redirect
*/
location.href = 'http://www.sito.com/nuova-pagina.html';

Gli oggetti nativi più importanti di Javascript sono:

  • window – questo oggetto rappresenta la finestra del browser; fanno parte dell’oggetto window altri due (sotto)oggetti:
    • location – questo oggetto rappresenta la URL corrente;
    • history – questo oggetto contiene la cronologia delle URLs visitate dall’utente;
  • navigator – questo oggetto contiene una serie di informazioni riguardo al browser utilizzato dall’utente;
  • screen – questo oggetto contiene una serie di informazioni relative alla risoluzione dello schermo dell’utente;
  • document – questo oggetto fa riferimento al documento aperto nel browser o, più precisamente, al suo nodo radice; appartengono all’oggetto document tutti gli oggetti corrispondenti a ciascun (sotto)nodo del documento HTML; A ciascun elemento, ancora, appartengono tutti gli oggetti corrispondenti ad eventuali attributi;

Come avrete capito l’oggetto document è il più complicato in quanto è strutturato in vari livelli, quindi abbiamo diversi oggetti tra loro concatenati, ad esempio:

/*
Accedo ad uno specifico nodo del documento HTML
Ad esempio recupero tutto il suo contenuto attraverso la proprietà innerHTML
*/
var contenuto = document.getElementById('mioParagrafo').innerHTML;

/*
Accedo ad uno specifico attribito di un dato nodo HTML
Ad esempio recupero il valore dell'attributo alt di un'immagine attraverso la proprietà value
*/
var stile = document.getElementById('miaImmagine').alt.value;

In realtà la manipolazione del DOM è assai complicata e torneremo più avanti sull’argomento. Per il momento ci si limiti a questi semplici esempi giusto per capire in che modo è strutturato l’oggetto document.

Altri oggetti di Javascript: Date, Math, Array, RegExp

Oltre a quelli citati, Javascript dispone di altri oggetti integrati nelle API del linguaggio. Questi oggetti sono utilizzati per svolgere operazioni comuni come, ad esempio, operazioni sulle date, calcoli matematici, la creazione di vettori ed eseguire controlli tramite espressioni regolari.

Date, Array, RegExp necessitano di un costruttore per poter essere utilizzati:

var data = new Date();
var vettore = new Array();
var re = new RegExp();

L’oggetto Math, invece, non necessità di un costruttore. Ad esempio:

var n = 0.97;
var i = Math.ceil(n);
document.write(i);

Vedremo più approfonditamente in seguito il funzionamento di ciascuno di questi oggetti.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).