Latest web development tutorials
×

JavaScript corso

JavaScript corso JavaScript breve introduzione JavaScript uso JavaScript esportazione JavaScript grammatica JavaScript dichiarazioni JavaScript nota JavaScript variabile JavaScript Tipi di dati JavaScript Oggetti JavaScript funzione JavaScript portata JavaScript evento JavaScript stringa JavaScript operatori JavaScript confrontare JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript tipo di conversione JavaScript Espressioni regolari JavaScript errore JavaScript Debugging JavaScript alzata variabile JavaScript Modalità Strict JavaScript Uso improprio JavaScript Forms Authentication JavaScript Parole chiave riservate JavaScript JSON JavaScript void JavaScript Codice Specifica

JS funzione

JavaScript definizione di funzione JavaScript Argomenti funzione JavaScript richiamo della funzione JavaScript chiusure

JS HTML DOM

DOM breve introduzione DOM HTML DOM CSS DOM evento DOM EventListener DOM elemento

JS Tutorial avanzato

JavaScript Oggetti JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp Oggetti

JS Browser BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript pop JavaScript evento programmato JavaScript Cookies

JS magazzino

JavaScript magazzino JavaScript prova jQuery JavaScript prova Prototype

JS Esempi

JavaScript Esempi JavaScript istanza di oggetto JavaScript istanza di oggetto Browser JavaScript HTML DOM Esempi JavaScript sommario

JS Manuale di riferimento

JavaScript Oggetti HTML DOM Oggetti

Uso improprio di JavaScript

In questo capitolo si discuterà l'uso di errori JavaScript.


Applicazione errore di operatore di assegnazione

In programma JavaScript se si utilizza un'istruzione condizionale se l'operatore di assegnazione è il segno di uguale (=) genererà un risultato di errore, l'approccio corretto è quello di utilizzare un confronto tra due segni uguali (==).

if condizionale restituisce false (ci aspettiamo), perché x non è uguale a 10:

var x = 0;
if (x == 10)

Prova »

if condizionale restituisce true (non che ci aspettavamo) dichiarazione viene eseguito perché le condizioni per l'assegnazione x 10,10 è vero:

var x = 0;
if (x = 10)

Prova »

if condizionale restituisce false (non quello che ci aspettavamo) dichiarazione viene eseguito perché le condizioni per l'assegnazione x 0,0 è falso:

var x = 0;
if (x = 0)

Prova »
nota Restituisce il valore della cessione variabile.

confronto Errori comuni

In confronto convenzionale, il tipo di dati viene ignorato, se la seguente dichiarazione condizione ritorna vero:

var x = 10;
var y = "10";
if (x == y)

Prova »

In operazione di confronto rigoroso, un calcolo identità === operatore, mentre il valore dell'espressione di controllo di tipo, le seguenti condizioni if ​​restituisce false:

var x = 10;
var y = "10";
se (x === y)

Prova »

Questo errore si verifica spesso in l'istruzione switch, interruttore dichiarazione calcolato utilizzando l'operatore di identità (===) sono stati confrontati:

Gli esempi che seguono eseguiranno pop avviso:

var x = 10;
switch (x) {
caso 10: alert ( "Ciao" );
}

Prova »

Gli esempi che seguono sono incoerenti perché il tipo non esegue pop-up di avviso:

var x = 10;
switch (x) {
caso "10": alert ( " Ciao");
}

Prova »

Aggiunta e considerazioni di connessione

L'aggiunta di due numeri insieme.

La stringa di connessione per collegare le due cose.

Addizione e JavaScript sono collegati tramite l'operatore +.

Quindi, possiamo vedere due numeri insieme e collegato a una serie di numeri e distinzione a titolo di esempio:

var x = 10 + 5; // x è 15 Risultati
var x = 10 + "5" ; Risultati // x è "105"

Prova »

Uso delle variabili sommando i risultati sono inconsistenti:

var x = 10;
var y = 5;
var z = x + y; Risultati // z è 15

var x = 10;
var y = "5";
var z = x + y; Risultati // z è "105"

Prova »

Si noti l'uso dei dati in virgola mobile

JavaScript Tutti i dati si basano sul tipo a 64-bit in virgola mobile di dati (float) per memorizzare.

Tutti i linguaggi di programmazione, tra cui JavaScript, per la precisione floating point dei dati sono difficili da determinare:

var x = 0.1;
var y = 0,2;
var z = x + y Risultati // z è 0.3
if (z == 0.3) // Restituisce false

Prova »

Posso risolvere questo problema, è possibile utilizzare una moltiplicazione e divisione intero da risolvere:

Esempi

var z = (x * 10 + y * 10) / 10; // risultato z è 0.3

Prova »

Filiali stringa JavaScript

Usiamo interruzioni di riga per eseguire istruzioni JavaScript nella stringa:

esempio 1

var x =
"Ciao Mondo!";

Prova »

Tuttavia, nella stringa viene dato ritorno direttamente carrello per:

esempio 2

var x = "Ciao
Mondiale! ";

Prova »

Possiamo scegliere lo strumento di sviluppo o premere F12 per visualizzare il messaggio di errore:

interruzioni di riga String bisogno di utilizzare una barra rovesciata (\), come segue:

esempio 3

var x = "Ciao \
Mondiale! ";

Prova »

virgola sbagliata

L'esempio che segue, dal momento che il male e virgola, se non verrà eseguito il blocco di istruzioni di codice:

if (x == 19);
{
// Blocco di codice
}

Prova »

Rientro Precauzioni dichiarazione

JavaScript è il default automaticamente termina l'ultima riga di codice.

I due esempi seguenti restituiscono lo stesso risultato (un non un punto e virgola):

esempio 1

la funzione myFunction (a) {
potere var = 10
restituire un potere *
}

Prova »

esempio 2

la funzione myFunction (a) {
potere var = 10;
restituire un potere *;
}

Prova »

JavaScript può anche essere utilizzato per terminare un'istruzione più righe.

I seguenti esempi restituiscono lo stesso risultato:

esempio 3

la funzione myFunction (a) {
var
Potenza = 10;
restituire un potere *;
}

Prova »

Tuttavia, i seguenti esempi di risultati vengono restituitinon definita:

esempio 4

la funzione myFunction (a) {
var
Potenza = 10;
ritorno
una potenza *;
}

Prova »

Perché c'è un tale risultato? Perché in JavaScript, esempi di codice 4 coerente e il seguente codice:

function myFunction(a) {
    var
    power = 10;  
    return;       // 分号结束,返回 undefined
    a * power;
}

risolvere

Se si tratta di un'istruzione incompleta, come segue:

var

JavaScript tenterà di leggere la seconda istruzione riga:

power = 10;

Tuttavia, perché questa affermazione è completo:

return

JavaScript si spegnerà automaticamente la dichiarazione:

return;

In JavaScript, il punto e virgola è opzionale.

Dal momento che il ritorno è una frase completa, si spegnerà istruzione return JavaScript.

notaNota: non rompere la linea della dichiarazione di ritorno.

Utilizzare un nome di indice di matrice

Molti linguaggi di programmazione consentono l'uso del nome come indice di matrice.

Per utilizzare il nome come l'indice dell'array è chiamato un array associativo (o hash).

JavaScript non supporta l'uso del nome di array di indice, solo un indice numerico.

Esempi

var persona = [];
persona [0] = "John" ;
persona [1] = "Rossi" ;
persona [2] = 46;
var x = person.length; // Person.length restituisce 3
var y = persona [0]; // Persona [0] restituisce "John"

Prova »

In JavaScript, utilizzare il nome dell'oggetto come un indice.

Se si utilizza il nome come un indice quando si accede la matrice, JavaScript ridefinirà la matrice di serie di oggetti.

Dopo aver eseguito tale operazione, non saranno più utilizzati metodi e le proprietà della matrice, altrimenti verrà generato un errore:

Esempi

var persona = [];
persona [ "firstName"] = " John";
persona [ "Cognome"] = " Rossi";
persona [ "age"] = 46 ;
var x = person.length; // person.length restituisce 0
var y = persona [0]; // Persona [0] restituisce il valore undefined

Prova »

Definire un elemento di un array, e, infine, non può aggiungere una virgola

Gli errori sono definiti:

points = [40, 100, 1, 5, 25, 10,];

La corretta definizione del modo in cui:

points = [40, 100, 1, 5, 25, 10];

Definire l'oggetto, e, infine, non può aggiungere una virgola

Gli errori sono definiti:

websites = {site:"本教程", url:"www.w3big.com", like:460,}

La corretta definizione del modo in cui:

websites = {site:"本教程", url:"www.w3big.com", like:460}

Non definito NOT NULL

In JavaScript, null per gli oggetti, non definito per le variabili, proprietà e metodi.

Gli oggetti sono definiti possibile solo come nullo, altrimenti non definito.

Se vogliamo verificare se la presenza dell'oggetto, quando l'oggetto non è ancora definita viene generato un errore.

uso sbagliato:

if (myObj !== null && typeof myObj !== "undefined") 

Il modo giusto è che abbiamo bisogno di utilizzare typeof per rilevare se un oggetto è stato definito:

if (typeof myObj !== "undefined" && myObj !== null) 

ambito Block

JavaScript non crea un nuovo ambito in ogni blocco di codice, la portata generale di ogni blocco di codice sono globali.

La seguente variabile codice che restituisce 10 invece di indefinito:

Esempi

for (var i = 0; i <10; i ++) {
// Alcuni codice
}
restituire i;

Prova »