A rgomenti correlati
Proprietà
Elementi distintivi degli oggetti che vengono utilizzati per visualizzarne o impostarne i valori. In altri termini, attraverso le proprietà è possibile caratterizzare un oggetto: ad esempio, lo sfondo di una pagina potrebbe essere rosso, un modulo potrebbe tre caselle di testo, e così via. Le proprietà possono appartenere a oggetti diversi, come ad esempio la proprietà length, che appartiene agli array, alle stringhe, e non solo.
Metodi
Le azioni che gli oggetti possono compiere. Ad esempio, un pulsante può fare clic, una finestra può essere chiusa, un testo può essere selezionato. Anche i metodi possono appartenere a diversi oggetti, come il metodo concat(), che appartiene sia alle stringhe che agli array.
NOTA BENE : Potremmo immaginare le proprietà come attributi, e i metodi come verbi.
Oggetti, proprietà e metodi vengono legati dal punto.
window.prompt(), window.alert()
Metodi dell'oggetto window
Math.sqrt(x)
Metodo dell'oggetto Math che restituisce la radice quadrata di x, se x ≥ 0, altrimenti viene restituito NaN
Math.pow(base,esponente)
Metodo dell'oggetto Math che restituisce la potenza del primo argomento (base) elevato al secondo argomento (esponente)
APPROFONDIMENTO SUI METODI MATEMATICI
- == === !=
Operatori di confronto.
APPROFONDIMENTO SUGLI OPERATORI
- IsNaN(argomento)
Funzione globale che restituisce true (vero) se argomento non è un numero (NaN).
ESEMPIO DI CODICE
alert(isNaN("Ciao"))
RISULTATO
true
- parseInt()
- Funzione globale che permette di ottenere la parte intera di un numero da una stringa. Se questo non è possibile viene restituito NaN.
ESEMPIO DI CODICE
parseInt("10.98")
RISULTATO
10
- eval()
- Funzione globale che valuta un argomento o esegue un'espressione
ESEMPIO DI CODICE
eval("'ciao'=='ciao'")
RISULTATO
true
ESEMPIO DI CODICE
eval("2+2")
RISULTATO
4
APPROFONDIMENTO SULLE FUNZIONI GLOBALI
Le forme indeterminate, in matematica, sono
∞ - ∞ ∞ / ∞ 0/0 0 * ∞ 1∞ ∞ 0 0 0
Con javascript si ottiene:
- Infinity - Infinity = NaN
-
- Infinity / Infinity = NaN
-
- 0/0 = NaN
-
- 0* Infinity = NaN
-
- Math.pow(1,Infinity) = NaN
-
Per javascript però non sono indeterminate le forme
- Math.pow(Infinity,0) = 1
-
- Math.pow(0,0) = 1
-
Inoltre in matematica una frazione con denominatore zero, e numeratore diverso da zero, non ha significato.
Per javascript invece risulta, ad esempio
-
1 / 0 = Infinity
-1 / 0 =
-Infinity -
|
Si definiscono proprietà globali, o di sistema, quelle che non appartengono a un oggetto specifico.
Ad esempio, la costante di Eulero, e ≈ 2.7183, è una proprietà dell'oggetto Math, e infatti si scrive Math.E; anche la funzione predefinita per calcolare il valore assoluto di un numero, il metodo Math.abs(x), appartiene all'oggetto Math. Analogamente scriviamo window.open() o document.write( ) e così via. In generale si usa il codice oggetto.proprietà oppure oggetto.funzione per indicare una proprietà o una funzione predefinita di un oggetto.
Invece le proprietà e le funzioni globali, o di sistema, che, come abbiamo detto, non appartengono ad alcun oggetto, non sono precedute da nomi di oggetti e punti.
PROPRIETÀ PREDEFINITE GLOBALI: NaN
NaN
Valore che rappresenta Not - a - Number (non è un numero).
QUANDO SI OTTIENE NaN COME RISULTATO
Esempi |
Codice |
Risultato |
Si tenta di estrarre la radice quadrata del numero negativo -4. |
alert(Math.sqrt(-4));
|
NaN
|
Si tenta di trasformare in numero intero la stringa "ciao". |
alert(parseInt("ciao")); |
NaN
|
Si cerca di calcolare 0/0. |
alert(0/0); |
NaN
|
In generale si ottiene NaN quando javascript non riesce a eseguire un'operazione matematica. Questo è importante perché così non si ha un errore o crash.
Attenzione però, l'espressione eval("ciao") dà invece errore.
alert(1/0) = Infinity.
|
ALTRE CARATTERISTICHE DI NaN
- NaN non è uguale a nessun altro valore, nemmeno a se stesso. In particolare
NaN == NaN è falso;
NaN === NaN è falso;
NaN != NaN è vero.
- Per javascript NaN è un numero, infatti, se applichiamo l'operatore typeof a un'espressione che dà risultato NaN, otteniamo number.
ESEMPIO
Codice: alert(typeof(0/0));
Risultato: number
In conclusione, per controllare se un valore non è un numero conviene usare la funzione isNaN()
ESEMPIO
Codice: alert(isNaN(0/0));
Risultato: true
- NaN è assorbente nel senso che, per ogni numero n e per ogni operazione ● si ha
n ● NaN = NaN ● n = NaN
ESEMPIO
Codice: alert(NaN + 5);
Risultato: NaN
Codice: alert(NaN + "5");
Risultato: non si apre la finestra di alert
PROPRIETÀ PREDEFINITE GLOBALI: ± Infinity
- Infinity
Valore numerico che si ottiene a partire da 1.7976931348623157e+308, che è il massimo numero rappresentabile in virgola mobile.
- -Infinity
Valore numerico che si ottiene a partire da -1.7976931348623157e+308, che è il minimo numero rappresentabile in virgola mobile.
NOTA - In matematica, ovviamente, i numeri sono infiniti, e quindi ± 1.7976931348623157e+308 sono numero finiti come gli altri; esistono comunque notevoli analogie con le operazioni fra infiniti e ± Infinity, in particolare per le forme indeterminate.
In particolare
- Infinity - Infinity = NaN
- Come ∞ - ∞ Indeterminato
- Infinity / Infinity = NaN
- Come ∞ / ∞ Indeterminato
- 0/0 = NaN
- Come 0 / 0 Indeterminato
- 0* Infinity = NaN
- Come 0 * ∞ Indeterminato
- Math.pow(1,Infinity) = NaN
- Come 1∞ Indeterminato
Per javascript però non sono indeterminate le forme
- Math.pow(Infinity,0) = 1
- Mentre ∞ 0 Indeterminato
- Math.pow(0,0) = 1
- Mentre 0 0 Indeterminato
undefined (indefinito): indica che a una variabile non è stato assegnato un valore.
PRIMO ESEMPIO
Codice: var x; document.write('x = ' + x)
Risultato: x = undefined
In questo caso la variabile x è stata dichiarata, ma non le è stato assegnato alcun valore.
SECONDO ESEMPIO
Codice: x = window.prompt('Inserisci un numero');
document.write(x==undefined)
Risultato: false
In questo caso la variabile x viene rilevata da una finestra di dialogo, ma non è mai indefinita, anche se lasciamo vuota la casella di testo per immetterne il valore: è come se avessimo dichiarato var x = "".
|