INTRODUZIONE A JAVASCRIPT

JS

Javascript è un linguaggio di scripting, single thread, conforme alle specifiche ECMAScript in grado di operare sia lato client che lato server ed è compilato e interpretato.

  • Un linguaggio di scripting è un linguaggio che necessita di essere eseguito all’interno di una entità preesistente per poter operare. Nel caso di javascript l’entità è il browser web.
Introduzione
  • Single Thread. Immaginiamo un ufficio postale con un singolo operatore che deve servire n clienti. Quello che l’operatore può fare per quanto veloce, è quello di servire una persona alla volta. Le persone in coda devono attendere che l’utente attualmente servito esca dalla coda per far posto al successivo. Come analogia diciamo che quell’ufficio postale è single-thread. Ogni browser web ha al suo interno un componente chiamato motore javascript (javascript engine) il cui compito è quello di eseguire il codice javascript. Come l’analogia dell’ufficio postale l’engine si occupa di prendere una ad una le istruzioni del nostro programma e le converte in codice macchina, cioè in un codice binario eseguibile sui nostri dispositivi.
Single Thread

Single Thread significa che può fare una sola cosa alla volta.

ECMASCRIPT

  • Il motore javascript integra, nelle nuove versioni dei rispettivi browser, le funzionalità indicate nelle specifiche ECMAScript. In questo modo gli sviluppatori possono scrivere codice con le nuove funzionalità perché saranno pienamente supportato dai browser più recenti, ma non dai browser di vecchia generazione. ECMAScript è un’organizzazione che si occupa di definire standard. Javascript è conforme alle specifiche ECMAScript.
  • Javascript è nato come linguaggio di programmazione lato client, dal 2009 è anche un linguaggio lato server grazie a Node js. L’idea alla base di Node js è stata quella di estrapolare il motore javascript, che è un software, e inserirlo nei server affinché possa interagire con database e file system.
  • Facciamo una premessa, i dispositivi sono in grado di comprendere lunghe sequenze di zeri e di uno. Tale linguaggio è chiamato codice macchina. I linguaggi di alto livello come javascript, PHP, C# sono comprensibili a noi esseri umani ma non dai dispositivi che utilizziamo. Il codice prodotto da uno di questi linguaggi, sia quelli definiti interpretati o compilati deve passare attraverso una serie di trasformazioni per essere compreso dal nostro dispositivo. Per i linguaggi compilati la compilazione deve essere espletata prima di eseguire il codice, nei linguaggi interpretati il codice viene valutato da un interprete, ad esempio nel caso di javascript possiamo scrivere il nostro codice e inserirlo nel body di una pagina HTML. Apriamo la pagina tramite un browser e il codice verrà elaborato. Il motore javascript integra al proprio interno anche un compilatore JIT, quindi, non è solo interpretato, interprete e compilatore lavorano in simbiosi per ottimizzare il codice.
Codice macchina

COS’E’ JAVASCRIPT

JavaScript è un linguaggio di programmazione orientato agli oggetti e agli eventi. Comunemente utilizzato nella programmazione web lato client (esteso poi anche lato server grazie a Node js) per la creazione di siti web e applicazioni web con effetti dinamici interattivi, tramite funzioni di script, invocate da eventi innescati a loro volta dall’utente sulla pagina web in uso (mouse, tastiera, caricamento della pagina etc.). Originariamente sviluppato da Brendan Eich della Netscape Communications con il nome di Mochan e successivamente di LiveScript, in seguito è stato rinominato “JavaScript” ed è stato formalizzato con una sintassi più vicina a quella del linguaggio Java di Sun Microsystems (che nel 2010 è stata acquistata da Oracle).

DESCRIZIONE

Le funzioni di script, utilizzati dunque nella logica di presentazione, possono essere opportunamente inserite in file HTML, in pagine JSP o in appositi file separati con estensione .js poi richiamati nella logica di business. Ultimamente il suo campo di utilizzo è stato esteso alle cosiddette Hybrid App (app ibride), con le quali è possibile creare app per più sistemi operativi utilizzando un unico codice sorgente basato appunto su JavaScript, HTML e CSS.

ASPETTI STRUTTURALI

Le caratteristiche principali di JavaScript sono:

  • La sintassi è relativamente simile a quella dei linguaggi C, C++ e Java.
  • Definisce le funzionalità tipiche dei linguaggi di programmazione ad alto livello (strutture di controllo, cicli, etc.) e consente l’utilizzo del paradigma object oriented.
  • È un linguaggio debolmente tipizzato.
  • Può usare caratteri Unicode.
  • Può valutare le espressioni regolari (introdotte nella versione 1.2; supporto da parte dei browser: a partire da Netscape Navigator 4 e Internet Explorer 4).

COSA RENDE JAVASCRIPT UNICO?

  • Completa integrazione con HTML/CSS.
  • Operazioni semplici vengono eseguite semplicemente.
  • Supportato dai maggiori browser ed integrato di default.

FUNZIONI ED EVENTI JAVASCRIPT

In HTML, il codice JavaScript viene inserito tra i tag <script> e </script>. I vecchi esempi JavaScript possono utilizzare un attributo type: <script type=”text/javascript”>. L’attributo type non è obbligatorio. JavaScript è il linguaggio di scripting predefinito in HTML. Una funzione JavaScript è un blocco di codice, che può essere eseguito quando “richiamato”. Ad esempio, una funzione può essere chiamata quando si verifica un evento, come ad esempio quando l’utente preme su un pulsante.

CODICE JAVASCRIPT NEL TAG HEAD

Copy to Clipboard

CODICE NEL TAG BODY

Posizionare gli script nella parte inferiore dell’elemento migliora la velocità di visualizzazione, poiché l’interpretazione degli script rallenta la visualizzazione.

Copy to Clipboard

EXTERNAL JAVASCRIPT

Gli script esterni sono pratici quando lo stesso codice viene utilizzato in molte pagine Web diverse. I file JavaScript hanno l’estensione .js. Per utilizzare uno script esterno, inserisci il nome del file di script nell’attributo src (source) di un tag <script>:

<script src=”myScript.js“></script>

L’inserimento di script in file esterni presenta alcuni vantaggi:

  • Separa HTML e codice
  • Rende HTML e JavaScript più facili da leggere e mantenere
  • I file JavaScript memorizzati nella cache possono accelerare il caricamento delle pagine
Copy to Clipboard
Copy to Clipboard

LINK AI POST PRECEDENTI

ARTICOLI SU HTML

ARTICOLI SUI CSS

LINK AL CODICE SU GITHUB

GITHUB