Esercitazione JS

JS CASA JS Introduzione JS Dove si va Uscita JS Dichiarazioni JS Sintassi JS Commenti JS Variabili JS JS Let JS Cost Operatori JS JS aritmetica Assegnazione JS Tipi di dati JS Funzioni JS Oggetti JS Eventi JS Corde JS Metodi di stringa JS Ricerca di stringhe JS Modelli di stringhe JS Numeri JS Metodi numerici JS Matrici JS Metodi array JS Ordinamento matrice JS Iterazione dell'array JS Cost. array JS Date JS Formati data JS Metodi di acquisizione della data JS Metodi di impostazione della data JS JS matematica JS Casuale JS booleani Confronti JS Condizioni JS JS Switch Ciclo JS per JS Loop per In Ciclo JS per di JS Loop mentre JS Break Iterabili JS Insiemi JS Mappe JS Tipo JS Conversione del tipo JS JS bit a bit JS RegExp Errori JS Ambito JS JS sollevamento Modalità rigorosa JS JS questa parola chiave Funzione freccia JS Classi JS JS JSON Debug JS Guida allo stile JS Migliori Pratiche JS Errori di JS Prestazioni JS Parole riservate JS

Versioni JS

Versioni JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Storia di JS

Oggetti JS

Definizioni di oggetti Proprietà dell'oggetto Metodi dell'oggetto Visualizzazione di oggetti Accessori per oggetti Costruttori di oggetti Prototipi di oggetti Iterabili di oggetti Insiemi di oggetti Mappe degli oggetti Riferimento all'oggetto

Funzioni JS

Definizioni delle funzioni Parametri di funzione Invocazione di funzione Chiamata di funzione Funzione Applica Chiusure di funzioni

Classi JS

Introduzione alla classe Eredità di classe Classe statica

JS Async

Richiamate JS JS asincrono JS Promesse JS Async/Attendere

JS HTML DOM

DOM Introduzione Metodi DOM Documento DOM Elementi DOM DOM HTML Moduli DOM DOM CSS Animazioni DOM Eventi DOM Ascoltatore di eventi DOM Navigazione DOM Nodi DOM Collezioni DOM Elenchi di nodi DOM

Distinta base del browser JS

Finestra JS Schermo JS Posizione JS Storia di JS Navigatore JS Avviso popup JS JS tempismo Biscotti JS

API Web JS

Introduzione all'API Web API dei moduli Web API Cronologia web API di archiviazione Web API Web Worker API di recupero Web API di geolocalizzazione web

JS AJAX

Introduzione all'Ajax AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

JS JSON

Introduzione JSON Sintassi JSON JSON contro XML Tipi di dati JSON Analisi JSON JSON Stringify Oggetti JSON Matrici JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selettori jQuery jQuery HTML jQuery CSS jQuery DOM

Grafica JS

Grafica JS Tela JS JS Plotly JS Chart.js Grafico di Google JS JS D3.js

Esempi JS

Esempi JS JS HTML DOM Input HTML JS Oggetti HTML JS Eventi HTML JS Browser JS Editore JS Esercizi JS Quiz J.S Certificato JS

Riferimenti JS

Oggetti JavaScript Oggetti HTML DOM


Ambito JavaScript

L'ambito determina l'accessibilità (visibilità) delle variabili.

JavaScript ha 3 tipi di ambito:

  • Blocca l'ambito
  • Ambito della funzione
  • Ambito globale

Ambito di blocco

Prima di ES6 (2015), JavaScript aveva solo Global Scope e Function Scope .

ES6 ha introdotto due nuove importanti parole chiave JavaScript: lete const.

Queste due parole chiave forniscono Block Scope in JavaScript.

Non è possibile accedere alle variabili dichiarate all'interno di un blocco { } dall'esterno del blocco:

Esempio

{
  let x = 2;
}
// x can NOT be used here

Le variabili dichiarate con la varparola chiave NON possono avere un ambito di blocco.

È possibile accedere alle variabili dichiarate all'interno di un blocco { } dall'esterno del blocco.

Esempio

{
  var x = 2;
}
// x CAN be used here

Ambito locale

Le variabili dichiarate all'interno di una funzione JavaScript diventano LOCALI per la funzione.

Esempio

// code here can NOT use carName

function myFunction() {
  let carName = "Volvo";
  // code here CAN use carName
}

// code here can NOT use carName

Le variabili locali hanno Scopo della funzione :

Sono accessibili solo dall'interno della funzione.

Poiché le variabili locali vengono riconosciute solo all'interno delle loro funzioni, le variabili con lo stesso nome possono essere utilizzate in funzioni diverse.

Le variabili locali vengono create all'avvio di una funzione ed eliminate al completamento della funzione.


Ambito della funzione

JavaScript ha un ambito di funzione: ogni funzione crea un nuovo ambito.

Le variabili definite all'interno di una funzione non sono accessibili (visibili) dall'esterno della funzione.

Le variabili dichiarate con e varsono abbastanza simili quando dichiarate all'interno di una funzione.letconst

Hanno tutti Scopo della funzione :

function myFunction() {
  var carName = "Volvo";   // Function Scope
}
function myFunction() {
  let carName = "Volvo";   // Function Scope
}
function myFunction() {
  const carName = "Volvo";   // Function Scope
}

Variabili JavaScript globali

Una variabile dichiarata al di fuori di una funzione, diventa GLOBAL .

Esempio

let carName = "Volvo";
// code here can use carName

function myFunction() {
// code here can also use carName
}

Una variabile globale ha Ambito Globale :

Tutti gli script e le funzioni di una pagina Web possono accedervi. 


Ambito globale

Le variabili dichiarate Globalmente (al di fuori di qualsiasi funzione) hanno Global Scope .

È possibile accedere alle variabili globali da qualsiasi punto di un programma JavaScript.

Le variabili dichiarate con e varsono abbastanza simili quando dichiarate all'esterno di un blocco.letconst

Hanno tutti una portata globale :

var x = 2;       // Global scope
let x = 2;       // Global scope
const x = 2;       // Global scope

Variabili JavaScript

In JavaScript, anche oggetti e funzioni sono variabili.

L'ambito determina l'accessibilità di variabili, oggetti e funzioni da diverse parti del codice.



Automaticamente globale

Se assegni un valore a una variabile che non è stata dichiarata, diventerà automaticamente una variabile GLOBALE .

Questo esempio di codice dichiarerà una variabile globale carName, anche se il valore è assegnato all'interno di una funzione.

Esempio

myFunction();

// code here can use carName

function myFunction() {
  carName = "Volvo";
}

Modalità rigorosa

Tutti i browser moderni supportano l'esecuzione di JavaScript in "Modalità rigorosa".

Imparerai di più su come utilizzare la modalità rigorosa in un capitolo successivo di questo tutorial.

In "Modalità rigorosa", le variabili non dichiarate non sono automaticamente globali.


Variabili globali in HTML

Con JavaScript, l'ambito globale è l'ambiente JavaScript.

In HTML, l'ambito globale è l'oggetto finestra.

Le variabili globali definite con la varparola chiave appartengono all'oggetto finestra:

Esempio

var carName = "Volvo";
// code here can use window.carName

Le variabili globali definite con la letparola chiave non appartengono all'oggetto finestra:

Esempio

let carName = "Volvo";
// code here can not use window.carName

Avvertimento

NON creare variabili globali a meno che tu non lo intenda.

Le tue variabili globali (o funzioni) possono sovrascrivere le variabili (o funzioni) della finestra.
Qualsiasi funzione, incluso l'oggetto finestra, può sovrascrivere le variabili e le funzioni globali.


La durata delle variabili JavaScript

La durata di una variabile JavaScript inizia quando viene dichiarata.

Le variabili di funzione (locali) vengono eliminate al completamento della funzione.

In un browser Web, le variabili globali vengono eliminate quando si chiude la finestra (o scheda) del browser.


Argomenti di funzione

Gli argomenti delle funzioni (parametri) funzionano come variabili locali all'interno delle funzioni.