Introduzione a Come funziona JavaScript?
JavaScript è un linguaggio di scripting che viene usato all’interno del browser per l’interazione dell’interfaccia. Brendan Eich fu la prima persona a creare il motore JavaScript per il browser web Netspace Navigator alla Netspace. È implementato in C e il suo nome in codice era SpiderMonkey. Mocha era il nome dato al progetto inizialmente, poi rinominato in LiveScript e infine quando Netspace e Sun fecero l’accordo di licenza fu nuovamente rinominato in JavaScript. In questo argomento, impareremo come funziona JavaScript. Dobbiamo aver sentito parlare di motori popolari come V8, Spider Monkey e ce ne sono molti altri. Motori diversi hanno diversi “nomi in codice”, per esempio:
- V8 – motore usato in Opera & Chrome.
- SpiderMonkey – motore usato in Firefox.
- Trident, Chakra – motore usato in IE & Nitro.
- ChakraCore – motore usato in Microsoft Edge.
- SquirrelFish – motore usato in Safari.
Il motore usato per javascript consiste di due componenti principali:
Inizia il tuo corso gratuito di sviluppo software
Sviluppo web, linguaggi di programmazione, test del software & altri
- Heap Memory- questo è dove avviene l’assegnazione della memoria.
- Call Stack – questo è il posto dove gli stack vengono chiamati e il codice viene eseguito.
NOTE:
JavaScript, un linguaggio di programmazione single-threaded, che significa che ha un unico Call Stack e quindi ha la capacità di fare una cosa alla volta. Il Call Stack è fondamentalmente una struttura di dati che registra il punto del programma che è in esecuzione. Questo stack di chiamate è simile ad altri stack che hanno le funzionalità di base come, se entriamo in una funzione, la mettiamo in cima allo stack. Dobbiamo staccare la cima dello stack se vogliamo tornare da una funzione. Questa è la funzionalità di base di ogni pila. Come stiamo discutendo i motori che guidano le funzioni JavaScript sono davvero complicati ma le cose di base che ogni motore esegue in senso lato sono le seguenti:
- Se il browser legge lo script allora il motore è incorporato nel browser stesso.
- Dopo aver letto lo script converte (“compila”) lo script in linguaggio macchina.
- E poi il codice macchina gira, abbastanza velocemente.
Cosa può fare JavaScript in-browser?
- Cambia il contenuto esistente, modifica gli stili aggiungendo nuovo HTML alle pagine.
- Fornisce funzioni come il clic del mouse, il passaggio del mouse, ecc. che reagisce alle azioni dell’utente.
- Invia e riceve richieste sulla rete a server remoti, senza caricare la pagina completa come gli input dell’utente. Una di queste tecnologie, molto famosa, è AJAX.
- Con questa si possono impostare e ottenere i valori dei cookie, fornire messaggi agli utenti per informazioni, avvisi e altri scopi.
- Può anche memorizzare dati temporanei sul lato client.
Cosa non può fare JavaScript in-browser?
Le capacità di JavaScript sono in qualche modo limitate all’interno del browser per la sicurezza dell’utente. Lo scopo è quello di evitare che qualche pagina web di terze parti acceda a informazioni private o danneggi i dati dell’utente. Alcuni scenari per questo tipo di accesso limitato sono:
- Per default, JavaScript su una pagina web è limitato a leggere/scrivere file arbitrari sul disco rigido, copiarli o eseguire programmi. Non ha nemmeno accesso diretto alle funzioni del sistema operativo. Pochi browser moderni gli permettono anche di lavorare con i file, ma per lo stesso, l’accesso è limitato e fornito solo se l’utente fa certe azioni, come “far cadere” un file in una finestra del browser. Alcuni modi sono anche disponibili per interagire con la fotocamera/microfono e altri dispositivi, ma anche questo richiede il permesso esplicito dell’utente. Così una pagina abilitata a JavaScript non può abilitare segretamente una web-camera o può inviare le informazioni al server remoto o a qualsiasi terza parte.
- Le diverse schede o finestre generalmente non conoscono le altre istanze. Ma tecnicamente è molto possibile. Lo stesso è chiamato “Same Origin Policy”. Affinché la stessa funzioni, entrambe le istanze devono contenere del codice JavaScript speciale che possa gestire lo scambio di dati tra di loro. Ma la limitazione è di nuovo lì per la sicurezza dell’utente. Per esempio, una pagina web dall’URL abc.com che un utente ha aperto non deve essere in grado di accedere a un’altra scheda del browser con l’URL xyz.com e rubare informazioni di nascosto.
- Con l’uso di esso, si può facilmente comunicare attraverso la rete a qualsiasi server remoto o terza parte da dove proviene la pagina corrente. Ma per ragioni di sicurezza, la sua capacità di ricevere o inviare dati da altri siti o domini è disabilitata. Ma lo stesso è ancora possibile, per cui alcuni lavori JavaScript richiedono un accordo esplicito dalla parte remota. Tale limitazione non sarà possibile da fornire, se JavaScript sarebbe usato fuori dal browser piuttosto che dentro, cioè sia da un server. Si può anche notare che alcuni dei moderni browser permettono l’installazione di plugin o estensioni con cui i lavori JavaScript usati all’interno del browser ottengono permessi estesi.
Cosa rende unico il lavoro JavaScript?
- Come tutti sappiamo è un linguaggio di scripting basato su oggetti.
- È scritto in C. È un linguaggio interpretato.
- Il puro JavaScript è più veloce nell’accedere al DOM.
- Con l’uso del lavoro JavaScript, l’utente ottiene più controllo sul browser.
- Può anche gestire data e timestamp.
- Può anche rilevare il browser dell’utente e persino il sistema operativo.
- È leggero.
- È un linguaggio di scripting come già detto.
- È un linguaggio di scripting basato su interprete.
- È case sensitive, cioè la sintassi è case sensitive.
- È un linguaggio basato su oggetti, poiché fornisce oggetti predefiniti come Java, ma non è Java.
- Ogni dichiarazione in JavaScript deve essere terminata con un punto e virgola (;).
- La cosa più importante che JavaScript fornisce è la capacità di creare nuove funzioni all’interno degli script. Si può dichiarare una funzione in JavaScript usando la funzione
- Supporto completo per HTML e CSS.
- È molto facile da usare.
- Supporta tutti i browser.
Limitazioni
Tra i molti vantaggi, JavaScript ha anche alcune limitazioni che sono riportate di seguito:
- JavaScript è sul lato client e non fornisce la possibilità di leggere o scrivere file su disco.
- JavaScript non può essere usato per applicazioni di rete perché non fornisce alcun tipo di supporto.
- Non fornisce alcuna funzionalità come il multithreading o il multiprocessore.
Conclusione
Con questo, siamo venuti a conoscenza di alcune informazioni di base sulle evoluzioni di JavaScript, alcuni dei famosi motori che eseguono JavaScript sui browser web, quali sono i vantaggi di mantenere JavaScript all’interno dei browser e cosa potrebbe accadere se JavaScript potesse essere collocato ed eseguito fuori dai browser. Abbiamo anche incontrato alcune delle caratteristiche del lavoro JavaScript che lo hanno reso utilizzabile e unico insieme ad alcune delle limitazioni/svantaggi di esso. Quindi con questo, sto concludendo l’argomento su come funziona JavaScript, ci sono molte altre cose da esplorare che potreste esplorare dal web.
Articoli consigliati
Questa è stata una guida al lavoro JavaScript. Qui abbiamo discusso i concetti di base, le limitazioni e ciò che rende javascript unico dagli altri. Puoi anche guardare i seguenti articoli per saperne di più –
- Cheat Sheet JavaScript
- Usi di JavaScript
- JavaScript vs JScript
- C# vs JavaScript