Corso JavaScript

CORSO DI JAVASCRIPT


Quinta Parte - Il modello a oggetti di JavaScript; Metodi di un oggetto; Proprietà di un oggetto; Oggetti Navigator; L'oggetto window; L'oggetto document; L'oggetto location; L'oggetto navigator; Oggetti interni; Gli oggetti array; L'oggetto date; L'oggetto math; Gli oggetti generici; Oggetti di stringhe;

di Luciano Giustini

Nota - La pagina si presta ad essere stampata: consiglio questa soluzione per meglio comprendere il codice e la struttura dei paragrafi. Può essere ancora meglio affiancare la versione elettronica con quella cartacea per gli esempi inseriti da salvare. Il Corso è anche pubblicato con struttura frame su Web alla URL http://www.beta.it/beta/ext/corsi/JavaScript-11

Abbiamo visto nella prima e seconda parte come scrivere la nostra prima funzione in JavaScript, la sintassi e gli errori, e alcune indicazioni per le dichiarazioni. Abbiamo visto nella terza parte i comandi di cicli e iterazioni for, while, i comandi condizionali if..else e la definizione estesa delle funzioni. Abbiamo poi visto nella quarta parte gli eventi, la loro gestione e gli attributi che sovraintendono ad un corretto funzionamento ed utilizzo di essi. Vediamo ora gli oggetti, i metodi e le proprietà di JavaScript.

Ricordo che questo corso e' di JavaScript 1.0 e 1.1, non sono quindi inclusi gli ultimi "arrivi" della versione 1.2, che include diversi nuovi oggetti. La mia scelta è però dettata anche da motivi di compatibilità: scrivere JavaScript 1.2 oggi equivale a rendere queste funzioni inusabili da client Netscape 2.0 e soprattutto 3.0, che è ancora il più diffuso, per non parlare di Internet Explorer 3 e 4 (quest'ultimo supporta solo alcune delle funzioni JavaScript 1.2). Il mio consiglio è quindi di usare funzioni della versione 1.2 solo quando siete veramente certi che le pagine verranno lette solo da client Netscape 4.0 (o Communicator, che è la stessa cosa).

Il modello a oggetti di JavaScript

Per scrivere bene in JavaScript è conveniente ragionare, il prima possibile, in termini di oggetti. Molti elementi del linguaggio HTML, nell'implementazione di Netscape sono stati modificati per includere attributi aggiuntivi, che permettono a JavaScript di essere maggiormente orientato agli oggetti. Le principali famiglie di oggetti supportate da Netscape possono essere suddivise in tre gruppi:
  • Oggetti di Navigator
  • Oggetti interni o integrati
  • Oggetti "riflessi" da HTML
Gli oggetti Navigator sono cose come le finestre, le posizioni, i dettagli sulle operazioni precedenti. Gli oggetti interni sono i tipi primitivi, le costanti e i formati interni, mentre gli oggetti riflessi corrispondono alle etichette Html che preparano il documento corrente.

Metodi di un oggetto

Agli oggetti vengono associati dei metodi che permettono agli oggetti di essere manipolati. Per esempio, in JavaScript una stringa di testo viene trattata come un oggetto stringa e potrebbe essere convertita in lettere minuscole utilizzando il metodo toLowerCase(). Grazie a JavaScript è anche possibile scrivere i propri metodi d'oggetto.

SUGGERIMENTO Quando si usa il metodo di un oggetto, bisogna assicurarsi di far precedere ad esso il nome dell'oggetto a cui appartiene, per esempio, document.write(), piuttosto che solamente write(); quest'ultimo sarà considerato un errore. Le descrizioni sintattiche di ogni oggetto presentate più avanti in questo capitolo mostreranno quale sintassi u.sare. Alcuni metodi non richiedono l 'uso del prefisso, necessario invece quando si tratta l 'oggetto di livello massimo window.

Proprietà di un oggetto

Proprietà è un altro termine usato nel contesto di un ambiente condizionato dagli oggetti. Una proprieta è un valore che appartiene a un oggetto. Tutti gii oggetti standàrd di JavaScript possiedono tali proprietà: I'oggetto document, per esempio, ha una proprietà chiamata bgColor, che è un riflesso dell'attributo BGCOLOR dell'etichetta <body>, che in questo caso è il colore dello sfondo. Le proprietà vengono riferite collocando un punto (.) dopo il nome dell'oggetto, seguito dal nome della proprietà richiesta.
Le proprietà disponibili a un oggetto dipendono dal fatto che l'oggetto sia stato riferito o meno. Possono essere assegnate delle proprietà anche agli oggetti definiti da un utente.

SUGGERIMENTO Alcune proprietà se non possono essere modificate dall 'assegnamento di un nuovo valore vengono considerate termini di sola lettura. In tali casi, è possibile soltanto accedere ai valori letti da queste proprietà. Le proprietà che possono essere modificate comprendono i colori del documento, per esempio, document.bgColor e il corrente URL, per esempio, window.location e così via. Queste ultime proprietà sono anche note come prop rietà di lettura/scrittura.

Oggetti Navigator

Navigator supporta un ampia gamma di tipi d'oggetti differenti. Gli oggetti HTML sono degli oggetti che riflettono i valori delle etichette HTML, come per esempio le ancore, gli hyperlink e gli oggetti struttura, come i campi di testo e i pulsanti di opzione. Gli oggetti "di livello massimo", o oggetti Navigator, sono quegli oggetti riflessi dall'ambiente browser, per esempio finestre, posizioni, oggetti storici e così via. Alcuni oggetti Navigator vengono creati "automaticamente", come è documentato nella tabella seguente:

Nome oggettoDescrizione
windowOggetto di livello massimo nella gerarchia a oggeti di JavaScript. Anche un documento frameset ha un oggetto window proprio.
documentL'oggetto document contiene proprietà relative al documento corrente HTML, come il nome di ogni struttura, i colori del documento e così via. In JavaScript la maggior parte delle etichette HTML vengono riflesse attraverso le proprietà del documento.
locationOggetto che contiene proprietà relative alia posizione del documento corrente come per esempio URL
navigatorOggetto che contiene dettagli riguardo alla versione corrente di Navigator.
historyL'oggetto history contiene le caratteristiche di tutti gli URL che l'utente ha visitato nella sessione corrente di Navigator. Il menu Go di Navigator contiene i dettagli degli URL visitati nella sessione corrente ed è un riflesso della proprietà history.

L'oggetto window

L'oggetto window fa riferimento alla finestra principale del browser, che in JavaScript è un oggetto di livello massimo, principalmente perchè ogni documento deve esistere all'interno di una finestra. Poichè dalla versione 2.0 di Navigator vengono supportate le finestre multiple in forma di documento frameset, creato utilizzando l'etichetta container <FRAMESET>, la finestra cui si fa riferimento diventa ambigua. È necessario, quindi, utilizzare l'oggetto parent, insieme alla proprietà frames, per indicare la finestra cui fare riferimento. In JavaScript frame e finestre sono la stessa cosa. Per esempio parent.frames[0] fa riferimento al primo frame contenuto nel browser Navigator. Si assume che una finestra esista sempre, sebbene utiliziando il metodo wi ndow.open() possono essere aperte e riferite anche finestre autonome. Per utilizzare i metodi e le proprietà di un oggetto window,si usa la seguente sintassi:
  • window.propertyName
  • window.methodName(parametri)
  • self.propertyName
  • self.methodName(parametri)
  • top.propertyName
  • top.methodName(parametri)
  • parent.propertyName
  • parent.methodName(parametri)
  • windowVar.propertyName
  • windowVar.methodName(parametri)
  • propertyName
  • methodName(parametri)
dove windowVar è una variabile che si riferisce a un oggetto wi ndow, come è stato mostrato nella descrizione della sintassi fatta in precedenza. La proprietà self è un sinonimo che riferisce la finestra "corrente" (all'interno di un documento frameset), mentre il sinonimo top riferisce la finestra di livello massimo di Navigator, analogamente a come self riferisce la finestra corrente. Viene indicata anche la proprietà parent dal momento che gli oggetti frame e gli oggetti window vengono trattati in modo identico.

NOTA
Le proprietà parent e top si riferiscono a cose differenti. Entrambe possono essere usate al posto di un nome di un frame, a seconda di dove il frame risieda. La proprietà parent fa riferimento al documento frameset corrente; top fa riferimento alla finestra top-most che può contenere o un frame o un frame annidato. I frame annidati possono richiedere l'uso specifico della proprietà top.

Proprietà

l'oggetto window possiede le seguenti proprietà:
  • defaultStatus: riflesso del messaggio di testo predefinito mostrato all'interno della barra di stato di Navigator ai piedi dello.schermo.
  • frames: array di frame contenuto in un documento <FRAMESET>
  • length: numero di frame del documento <FRAMESET> corrente.
  • name: riflesso del titolo della finestra corrente posto nell'argomento windowName che viene passato al metodo open()(vedere la sintassi).
  • parent: sinonimo che fa riferimento sia a un argomento windowName che a un frame contenuto in un documento <FRAMESET>. Ricordo che gli oggetti frame sono la stessa cosa degli oggetti window.
  • self: sinonimo che fa riferimento alla finestra corrente.
  • status: messaggio temporaneo presente nella barra di stato di Navigator.
  • top: sinonimo che fa riferimento alla finestra principale di Navigator.
  • window: sinonimo che riferisce la finestra corrente.

Metodi

Per mostrare un messaggio di testo può essere usato il metodo alert(); close() chiude una finestra; confirm() accetta scelte di tipo sì/no (e restituisce un valore booleano true/false); open() apre una nuova finestra; prompt() sollecita l'utente a inserire dati d'input; setTimeout() assegna un evento di tipo time-out a una finestra; infine c1earTimeout() rimuove l'evento di time-out assegnato dal metodo setTimeCut().

Manipolatori di eventi

Fino a quando un documento è caricato in un oggetto window, esso non ha alcun manipolatore di eventi. I documenti possiedono gli attributi di manipolazione di eventi onLoad e onUnLoad, come i documenti <FRAMESET>, definiti nel container <BODY>.

Esempi

Per creare una finestra di dimensioni 400 x 400 pixel e caricarla nella home page del sito Web di Netg, si potrebbe usare la seguente istruzione di JavaScript:
      myWin = open("http://www.Netg.com","myWindow","width=400,height=400");
Per chiudere la finestra, si dovrebbe usare:
      myWin.close();
Per chiudere la finestra "myWin" è possibile utilizzare questa istruzione attraverso uno script posto in una qualunque altra finestra.

L'oggetto document

L'oggetto document è un riflesso dell'intero documento di ipertesto o, precisando meglio, della parte <body>..</body> del documento. I documenti sono annidati dentro alle finestre all'interno del browser Navigator, o, in altre parole, il documento è delimitato da una finestra. Tutti gli oggetti HTML contenuti in un documento di ipertesto (discussi più avanti) sono proprietà dell'oggetto document, poiché risiedono all'interno del documento stesso. Per esempio, in JavaScript la prima struttura contenuta in un documento può essere riferita con document.forms[O], mentre la prima struttura contenuta nel secondo frame potrebbe essere riferita con parent.frames[O].document.forms[O], e così via. L'oggetto document è utile perchè fornisce dei metodi che permettono di scrivere, nel browser Navigator, codice HTML dinamico. In HTML un documento viene creato attraverso l'uso dell'etichetta <body>..</body>. Se non viene usato un tale container, molte delle proprietà di questo oggetto non saranno disponibili, anche se molte proprietà vengono impostate assegnando i valori direttamente a esse. Sintassi:
      <BODY BACKGROUND="bgImageOrUrl" 
      BGCOLOR="backgroundColor" 
      TEXT="foregroundColor" 
      LINK="unfollowedLinkColor" 
      ALINK="activatedlinkColor" 
      VLINK="followedLinkColor" 
      [onLoad="handlerText"] 
      [onUnLoad="handlerText"]>
      ...
      </BODY>
Dove bgImageOrUrl specifica l'immagine bitmap che viene usata per inizializzare l'ambiente Navigator e che può essere memorizzata in formato GIF, JPEG o PNG (solo da Navigator 4). Si usa il termine tile per far riferimento a un file bitmap riportato per tutto lo schermo, e quindi tale da coprire l'intera finestra. I colori degli elementi di un documento (colore del testo, colore dello sfondo, hyperlink) vengono selezionati attraverso gli attributi alink,bgcolor,link,text e vlink, ognuno dei quali può essere espresso nel seguente modo:
  • Triplette Rosso-Verde-Blu della forma "#RRGGBB" o "RRGGBB", dove RR sta per il Rosso, GG per il Verde, e BB per il Blu, e qualunque altra tripletta vengono specificate dalla notazione esadecimale con una gamma 0 - FF dove FF rappresenta il colore di più alta intensità; per esempio, 0000 FF" rappresenta il Blu.
  • Una stringa indicante il colore, per esempio, Blue" (Nota: solo a partire da Navigator 2.0). Sul sito Netscape è reperibile la lista dei codici per i colori supportati da Navigator.
Per poter usare le proprietà e i metodi dell'oggetto document, bisogna utilizzare la seguente sintassi:
  • document.propertyName
  • document.methodName(parametri)

Proprietà

L'oggetto document possiede una gamma estesa di proprietà, principalmente perché deve riflettere ogni etichetta HTML contenuta nel documento corrente:
  • alinkColor: riflette, dell'etichetta <body>, l'attributo alink
  • anchors: array che riflette tutte le ancore contenute nel documento
  • bgColor: riflette, dell'etichetta <body>, I'attributo bgcolor (colore dello sfondo)
  • cookie: specifica un cookie (una piccola parte d'informazione salvata su disco)
  • fgColor: riflette, dell'etichetta <body>, I'attributo text
  • forms: array che del documento corrente contiene tutti i <form>
  • images: array di immagini del documento corrente, come, per esempio, le etichette <img>, nuove per la versione 3.0 di Navigator
  • lastModified: riflette la data in cui il documento corrente è stato modificato di recente
  • linkColor: riflette l'attributo link (colore predefinito di un hyperlink)
  • links: array che riflette tutti gli hyperlink del documento corrente
  • location: riflette gli URL del documento corrente
  • referer: riflette gli URL del documento che ha passato il controllo al documento corrente (o anche documento chiamante)
  • title: riflette i contenuti del container <title>..</title>
  • vlinkColor: riflette, dell'etichetta <body>, l'attributo vlink (colore del link visitato)
I link visitati (URL) vengono memorizzati nel file NETSCAPE.HST.

Metodi

Per chiudere il documento corrente si può utilizzare il metodo clear(). Come si può notare, in Navigator questo metodo non funziona correttamente e sono necessarie successive chiamate ai metodi open() e close() per chiudere la finestra. Per poter scrivere informazioni nel browser, vengono forniti i metodi write() e writeln(). Questi metodi scrivono nel browser stringhe di testo in formato HTML, in modo tale che è possibile creare qualunque documento HTML in modo dinamico, comprese intere applicazioni di JavaScript.

SUGGERIMENTO Uno degli errori di JavaScript che si ripete regolarmente è cercare di scrivere i dati nello schermo del browser su una base ad hoc. È sconsigliabile scrivere i dati in una finestra di un altro documento poiché gli effetti possono a volte far crollare Navigator. Invece, sarebbe meglio scrivere un flusso di dati all'interno della finestra stessa. Per fare questo, bisogna iniziare con document.open(), poi utilizzare tante istruzioni document.write() quante ne sono necessarie. Si termina poi con document.close() per spedire i dati nel browser. Se si vogliono aggiungere dati in una finestra, bisogna omettere i metodi open() e close(); assicurarsi infine di etichettare la finestra corretta.

Manipolatori di eventi

Gli attributi di manipolazione di eventi come onLoad e onUnLoad possono essere utilizzati nelle etichette <body> e <frame>.

Esempi

Per scrivere nel browser un testo in formato HTML si può utilizzare la funzione document.writeln(). Per esempio, si potrebbe creare in modo dinamico un'etichetta d'immagine, mostrando l'immagine utilizzando le istruzioni di JavaScript:

      document.open(); 
      document.writeln("<img src='myimage.gif'>"); 
      document.close();
È possibile creare in modo dinamico anche un'intera applicazione di JavaScript. Per esempio:
      document.open(); document.writeln("<script language='JavaScript'>" + 
      "alert('Hello World!')" + "</script>");
      document.close();
È possibile invocare un'applet di Java creando semplicemente un'etichetta <applet> in modo dinamico, per esempio:
      document.close();
      document.open(); document.writeln("<Applet code=myApplet.class " + 
      "codebase=classes width=100 height=50>" + "</applet>");
Si può notare come, nell'esempio precedente, utilizzando l'operatore +, si siano potute concatenare (collegare) insieme alcune stringhe. Bisogna utilizzare questa tecnica ogni volta che le linee del codice diventano troppo lunghe per adattarsi all'interno di un programma di editing, o semplicemente per separare stringhe complesse in parti più maneggevoli.

L'oggetto location

Quest'oggetto è un riflesso della indirizzo del documento corrente, rispetto al proprio Uniform Resource Locator (URL). Da Navigator vengono supportati molti URL diversi, permettendo in questo modo di poter interfacciare una varietà di servizi di Internet, come per esempio i server Gopher, i server News (Usenet), i server di tipo File Transfer Protocol (FTP), i server di mail, e anche i server di tipo HyperText Transfer Protocol (HTTP), o i server Web, che sono quelli più comunemente conosciuti. La manipolazione dell'oggetto location permette di modificare l'URL di un documento.
Gli oggetti location vengono associati all'oggetto corrente window, in cui viene caricato un documento. I documenti non contengono l'informazione URL; questa è una caratteristica relativa al browser. Sintassi:
      [windowRef.]location.propertyName
dove windowRef è una variabile opzionale che definisce la particolare finestra a cui si vuole accedere (vederne i dettagli nella sezione precedente riguardante l'oggetto window). La variabile windowRef può, utilizzando la proprietà parent, sinonimo usato per riferire oggetti multipli window, far riferimento anche a un frame contenuto nel documento frameset.
L'oggetto location è una proprietà dell'oggetto window; se occorre riferire un oggetto location senza specificare una determinata finestra, si assume sia specificata la finestra corrente.
Se si specifica una determinata finestra o un determinato frame utilizzando la sintassi:
       windowRef.location.propertyName
verrà usata la posizione della finestra indicata.

SUGGERIMENTO È facile confondere l'oggetto location con la proprietà location dell'oggetto document. Il valore di document.location non può essere modificato, anche se possono essere alterate le proprietà location di una finestra; per esempio, utilizzando un'espressione di JavaScript della forma: window.location.property. Il valore di document.location è assegnato con quello di window.location quando viene caricato un documento per la prima volta, dal momento che i documenti esistono all'interno delle finestre (ricordarsi la gerarchia a oggetti). Tuttavia assegnando in un successivo momento un nuovo valore URL, quest'ultimo può essere modificato.

L'oggetto navigator

L'oggetto navigator contiene dettagli sulla versione corrente del browser di Netscape Navigator.
Questo oggetto può essere utilizzato per determinare le informazioni relative alla versione, dettagli di plug-in e tipi MIME. Sintassi:
      navigator.propertyName

Proprietà

L' oggetto navigator possiede le seguenti proprietà:
  • appcodeName: codice del nome del browser
  • appName: nome del browser
  • appVersion: specifica le informazioni relative alla versione per Navigator
  • userAgent: specifica l'header dell'utente o agente;
  • plugins: array di plug-ins installato sul sistema (nuovo per la versione 3.0 di Navigator)
  • mimeTypes: array dei tipi MIME supportati (nuovo per la versione 3.0 di Navigator)
La proprietà length relativa agli array plugins e mimeTypes ritornerà la dimensione di ogni struttura, cioè il numero di plug-in e di tipi MIME supportati, numero che dipende dal sistema installato.

Metodi

Per l'oggetto navigator non è definito alcun metodo.

Manipolatori di eventi

All' oggetto navigator non è associato alcun manipolatore di eventi.

Oggetti interni

Gli oggetti interni non sono legati al browser o al documento HTML correntemente caricato; corrispondono invece a tutti quegli oggetti che possono essere manipolati internamente dal progettista. Tali oggetti comprendono sia tipi primitivi, come per esempio le stringhe, che oggetti più complessi, come per esempio le date. La seguente tabella illustra gli oggetti interni, o costruiti, supportati da Navigator.
Le linee della tabella marcate con il simbolo denotano un oggetto costruttore introdotto dalla versione 3.0 di Navigator.

Nome oggettoDescrizione
ArrayStruttura array
DateManipolazione della data e dell'ora interne
MathOggetto e proprietà di tipo matematico
ObjectTipo d'oggetto generico
StringOggetto di tipo stringa di testo

Gli oggetti Array

Gli array sono oggetti multidimensionali che vengono referenziati attraverso una variabile d'indice numerica. All'interno di JavaScript molti degli oggetti HTML riflessi vengono strutturati come array dal momento che possono contenere valori multipli. In che modo poi questi oggetti richiedono applicazioni HTML, viene lasciato al libero arbitrio all'utente; Navigator non impone alcun limite, anche se le risorse corrispondenti alla propria risorsa di memoria di sistema sono finite. Gli esempi in Navigator di oggetti strutturati come array includono hyperlink, ancore, strutture e frame. Nella prossima sezione è possibile trovare più dettagli riguardo a quest'argomento. Gli array possono essere creati con una delle seguenti modalità (le ultime due sono nuove per la versione 3 di Navigator):
  • Utilizzando una funzione definita dall'utente come per esempio la funzione makeArray() che assegna valori multipli a un oggetto
  • Utilizzando per creare l'array il costruttore Array()
  • Utilizzando per creare l'array il costruttore Object()
Le ultime due tecniche differiscono a seconda della versione Navigator (2.x e 3.x-4.x). Array(), Object() e makeArray().
Nessun metodo e nessuna proprietà è associata agli oggetti array.

L'oggetto Date

L'oggetto Date è ereditato da Java e contiene informazioni sia riguardo alla data che all'ora. Per poter estrarre le parti componenti dell'oggetto date, JavaScript fornisce una selezione di metodi di manipolazione di date. Le date possono essere modificate in modo dinamico, per poter creare nuove date basta aggiungere e sottrarre valori alle variabili in formato data. Un oggetto date viene creato utilizzando la sintassi:
      dateObj = new Date(parametri)
Dove dateObj è la variabile in cui verrà memorizzato il nuovo oggetto Date. L'argomento parametri può contenere i seguenti valori:
  • Una lista di parametri vuota, per esempio, Date(), che estrae semplicemente la data e l' ora correnti.
  • Una stringa, rappresentante la data e l'ora, nella forma: "Mese giorno, anno ora," per esempio, March 1, 1998 12: 0 0: 0 0 " (Nota: l'ora è in formato 24-ore).
  • Un insieme di valori per l'anno, il mese, il giorno, l'ora, i minuti e i secondi. Per esempio, la stringa: " 98,3, 1, 12, 30,O" equivale alla stringa 1 Marzo 1998 12:30 PM
  • Un insieme di valori interi solo per l'anno, il mese e il giorno, per esempio, "98, 3, 1" che è come dire 1 Marzo 1998. Se gli elementi corrispondenti all'ora nel nuovo oggetto non vengono specificati, verranno inizializzati a zero.

Proprietà

L' oggetto Date non possiede proprietà.

Metodi

Gli oggetti date possono utilizzare uno dei seguenti metodi JavaScript: getDate(),getDay(),getHours(),getMinutes(),getMonth(),getSeconds(),getTime(), getTimeZoneoffset(), getYear(), Date.parse(), setDate(), setHours(),setMinutes(),setMonth(),setSeconds(),setTime(),setYear(), toGMTString(),toLocaleString() e Date.UTC().

Manipolatori di eventi

Non vengono utilizzati manipolatori di eventi per gli oggetti interni.

Esempi
Si potrebbe creare un nuovo oggetto Date utilizzando la data e l'ora odierna (locale) attraverso l'istruzione di JavaScript:

      todayDate = new Date();
dove Date() è il costruttore di date che crea un nuovo oggetto date. Analogamente, si può creare un oggetto Date con una data diversa passando all'oggetto i parametri necessari, per esempio:
      // August, 8 1998 12:00:00 
      theDate = new Date(98,8,8,12,00,0):

L'oggetto Math

L' oggetto Math è costruito nel browser Navigator e contiene le proprietà e i metodi utilizzati per poter manipolare valori numerici. Nell'oggetto Math sono contenute anche le comuni costanti matematiche. Sintassi:
      Math.propertyName
      Math.methodName(parametri)

Proprietà

Le proprietà dell'oggetto Math sono le costanti matematiche, vale a dire:
  • E
  • LN2
  • LN10
  • LOG2E
  • LOG1OE
  • PI
  • SQRT 1_2
  • SQRT2

Metodi

Vengono fornite parecchie funzioni matematiche. Per i dettagli riferirsi al manuale JavaScript fornito da Netscape o ad un manuale Java (vedi Bibliografia).
  • abs()
  • acos()
  • asin()
  • atan()
  • ceil()
  • cos()
  • exp()
  • floor()
  • log()
  • max()
  • min()
  • pow()
  • random()
  • round()
  • sin()
  • sqrt()
  • tan()

Manipolatori di eventi


Non ne esistono per oggetti interni.

Esempi
Per poter accedere a una costante matematica, è sufficiente far precedere al suo nome l'oggetto Math. Per esempio:

      var piVar = Math.PI;
assegna il valore della costante pi nella variabile piVar. Per poter usare un metodo Math, come per esempio abs(), bisogna utilizzare il metodo richiesto passando gli argomenti opportuni, per esempio:
      myValue = -8.68; 
      var absVal = Math.abs(value); 
memorizza il valore 8.68 nella variabile myValue e memorizza 8.68 nella variabile absVal; cioè, rende il numero positivo.

Gli oggetti generici

JavaScript ha ereditato da Java l'oggetto costruttore Object() che può essere usato per creare un oggetto generico. Quando questo oggetto viene creato, non gli viene assegnato nessun tipo specifico. Il tipo dell'oggetto viene allocato in seguito. Per esempio, per creare velocemente un array, si possono usare le seguenti istruzioni:
      var myObject = new Object();
      myObject[1] = "Value 1";
      myObject[2] = "Value 2";

Oggetti di stringhe

Una stringa è una sequenza di caratteri legati insieme e racchiusi da virgolette doppie o singole.
Per manipolare gli oggetti stringa, si utilizza la sintassi generale:
  • stringName.propertyName
  • stringName.methodName(parametri)
dove stringName è il nome di un oggetto string o di una variabile string (sono la stessa cosa). Le stringhe possono essere create secondo tre diverse modalità:
utilizzando l'istruzione var per creare la stringa e assegnarle eventualmente un valore; utilizzando un operatore di assegnamento (=) con un nome di variabile per creare la stringa e assegnarle eventualmente un valore; utilizzando il costruttore String() per creare una stringa, che è una proprietà nuova di Navigator 3.0

Proprietà

La proprietà length contiene la lunghezza della stringa.

Metodi

Sono supportati i seguenti metodi di manipolazione di stringhe:
  • big()
  • blink()
  • bold()
  • charAt()
  • fixed()
  • fontcolor()
  • fontsize()
  • indexOf()
  • italics()
  • lastIndexOf()
  • link()
  • small()
  • strike()
  • sub()
  • substring()
  • sup()
  • toLowerCase()
  • toUpperCase()

Manipolatori di eventi

Gli oggetti string vengono costruiti in Navigator e non possiedono manipolatori di eventi.

Esempi

Per creare una stringa, si può utilizzare una delle seguenti istruzioni:
      var test = "This is a string";
      test = "This is a string";
      var test = String("This is a string");
      test = String("This is a string");

Bene, anche per questa volta è tutto.
Con le cinque lezioni che abbiamo percorso fino ad ora è già possibile iniziare a programmare, e bene, in JavaScript. Per un uso professionale consiglio senz'altro di acquistare un buon libro su JavaScript, come quelli suggeriti sotto, magari tramite il books di Beta. In tutti i casi è sempre altamento consigliato scaricare il manuale aggiornato JavaScript dal sito Netscape, che contiene le modifiche apportate per le ultime versioni di Navigator.

Fine Quinta parte


______________________________________________________________________________

Luciano Giustini è raggiungibile su Internet all'indirizzo l.giustini@beta.it


Logo Corsi di BETAPer saperne di più sui corsi di BETA


Copyright © 1994-97 BETA. Tutti i diritti sono riservati. BETA Sul Web: http://www.beta.it.