JavaScript, come tanti altri linguaggi, è orientato agli oggetti: tutto quello che incontriamo negli script o è un dato primitivo o è un oggetto.

Nella programmazione orientata agli oggetti (OOP, acronimo di Object Oriented Programming) è un tipo di logica di programmazione che tende a raggruppare in classi tutti quegli elementi (oggetti) che identificano la classe stessa. Le classi sono composte essenzialmente da due tipi di membri: gli attributi (i dati che caratterizzano un oggetto, detti anche proprietà) e i metodi (le azioni che si possono eseguire su un certo oggetto). Lascio ad un capitolo dedicato alla OOP maggiori dettagli sul paradigma, anche perché JavaScript ha una particolarità: non ha classi.

E’ possibile creare oggetti personalizzati definendo un costruttore. Vediamo un esempio:

// creazione di un oggetto: il costruttore
function Impiegato(nome, matricola) {
this.nome = nome;
this.matricola = matricola;
}
// creazione di un oggetto: un'istanza
programmatore = new Impiegato("Davide", 2371);
// accedere ad un oggetto: notazione classica
alert(programmatore.matricola);
// accedere ad un oggetto: notazione del vettore associativo
alert(programmatore["matricola"]);

JavaScript, comunque, ha diverti oggetti predefiniti:

Anchor
Applet
Area
Array
Base
Basefont
Body
Button
Checkbox
Date
Document
Event
File
FileUpload
Form
Frame
Frameset
Function
Hidden
History
Iframe
Image
Layer
Link
Location
Math
Meta
Navigator
Number
Object
Option
Password
Radio
RegExp
Reset
Screen
Select
Style
String
Submit
Table
TableData
TableHeader
TableRow
Text
Textarea
Window

Funzioni

Anche se JavaScript è un linguaggio OOP, è possibile creare ed utilizzare le funzioni.

Una funzione non è altro che un blocco di codice racchiuso da parentesi graffe. Ogni funzione ha un nome e può essere richiamata in una qualsiasi parte dello script o della pagina web.

Ecco un esempio di sintassi per le funzioni:

function nome() {
...
[blocco di istruzioni]
...
}

Come per gli oggetti, JavaScript ha un insieme di funzioni predefinite. Ecco una lista delle funzioni predefinite più comuni e i relativi parametri accettati in ingresso:

Funzioni Sintassi
escape
eval
isNaN
Number
parseFloat
parseInt
String
unescape
escape(stringa)
eval(espressione)
isNaN(Valore)
Number(Oggetto)
parseFloat(stringa)
parseInt(stringa,[base])
String(Oggetto)
unescape(stringa)

Le funzionalità degli oggetti predefiniti e delle funzioni predefinite le vedremo più avanti in questo corso.