type or paste code here
<!DOCTYPE html>
<html lang="en">
<head>
<title>JS Documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<header class="main-header">
<h1>JS Documentation</h1>
<nav id="navbar">
<ul>
<header><h2 id="title-nav-bar">Nav Bar</h2></header>
<li><a class="nav-link" href="#introduction">Introduction</a></li>
<li><a class="nav-link" href="#javascript_and_java">JavaScript and Java</a></li>
<li><a class="nav-link" href="#variables">Variables</a></li>
<li><a class="nav-link" href="#constants">Constants</a></li>
<li><a class="nav-link"href="#data_types">Data types</a></li>
</ul>
</header>
<main id="main-doc">
<section class="main-section" id="introduction">
<header class="paragraph" id="introduction">
<h2 >Introduction</h2>
<code />
</header>
<p>JavaScript è un linguaggio di scripting orientato agli oggetti che funziona su diverse piattaforme ed è leggero.
Può essere utilizzato all'interno di un ambiente host, come un browser web, per interagire con gli oggetti presenti e controllarli tramite script.</p>
<p>JavaScript include una libreria standard di oggetti come Array, Date e Math, insieme a elementi linguistici fondamentali come operatori, strutture di controllo e istruzioni.
Si può estendere il JavaScript base aggiungendo ulteriori oggetti per scopi specifici.
Il JavaScript lato client aggiunge funzionalità al linguaggio di base per controllare il browser e il Document Object Model (DOM), consentendo di modificare dinamicamente gli elementi di una pagina web e gestire interazioni utente come clic del mouse e input nei moduli.</p>
<p>Il JavaScript lato server fornisce oggetti per operazioni server-side, come comunicare con database, mantenere informazioni tra diverse sessioni e gestire operazioni di file sul server.
</p>
</section>
<section class="main-section" id="javascript_and_java">
<header class="paragraph" id="javascript-and-java">
<h2 >JavaScript and Java</h2>
<code />
</header>
<p>JavaScript e Java hanno alcune somiglianze superficiali, ma differiscono notevolmente in molti aspetti fondamentali. Mentre Java ha tipizzazione statica e un controllo avanzato dei tipi, JavaScript è dinamico e non richiede dichiarazioni esplicite di variabili, classi e metodi.</p>
<p>JavaScript segue la sintassi di base e le convenzioni di Java, ma adotta un modello a oggetti basato su prototipi, offrendo un'ereditarietà dinamica, al contrario del sistema di classi di Java. Inoltre, JavaScript permette di utilizzare funzioni come oggetti e metodi senza requisiti dichiarativi speciali, rendendolo un linguaggio molto più flessibile e libero rispetto a Java. </p>
</section>
<section class="main-section" id="variables">
<header class="paragraph" id="variables">
<h2 >Variables</h2>
<code />
</header>
<p>In JavaScript, le variabili sono nomi simbolici per valori. Gli identificatori delle variabili devono iniziare con una lettera, un trattino basso (_) o un simbolo del dollaro ($); i caratteri successivi possono includere anche cifre (0-9). JavaScript è case-sensitive, quindi distingue tra maiuscole e minuscole.</p>
<p>Si possono usare lettere ISO 8859-1 o Unicode, come å e ü, e sequenze di escape Unicode negli identificatori. Esempi di nomi validi sono Number_hits, temp99 e _name.</p>
</section>
<section class="main-section" id="constants">
<header class="paragraph" id="constants">
<h2 >Constants</h2>
<code />
</header>
<p>Puoi creare una costante di sola lettura con la parola chiave const. Gli identificatori delle costanti seguono le stesse regole delle variabili: devono iniziare con una lettera, un trattino basso (_) o un simbolo del dollaro ($) e possono contenere caratteri alfabetici, numerici o trattini bassi.</p>
<p>Esempio: const PI = 3.14;</p>
<p>Una costante non può cambiare valore né essere ridefinita durante l'esecuzione del script e deve essere inizializzata con un valore. Le regole di ambito per le costanti sono le stesse delle variabili dichiarate con let.</p>
<p>Non puoi dichiarare una costante con lo stesso nome di una funzione o variabile nello stesso ambito. Tuttavia, gli attributi degli oggetti non sono protetti, quindi questo codice funziona senza problemi:
const MY_OBJECT = {"key": "value"};
MY_OBJECT.key = "otherValue";
</p>
</section>
<section class="main-section" id="data_types">
<header class="paragraph" id="data-types">
<h2 >Data types</h2>
<code />
</header>
<p>L'ultimo standard ECMAScript definisce sette tipi di dati:
Sei tipi primitivi:</p>
<p>
<ul>
<li>Boolean: true e false.</li>
<li>null: una parola chiave speciale che indica un valore nullo.</li>
<li>undefined: una proprietà di alto livello il cui valore è indefinito.</li>
<li>Number: es. 42 o 3.14159.</li>
<li>String: es. "Ciao".</li>
<li>Symbol (nuovo in ECMAScript 2015): un tipo di dati le cui istanze sono uniche e immutabili.</li>
<li>Object.</li>
</ul>
</p>
<p>Questi tipi di dati, sebbene pochi, permettono di svolgere funzioni utili nelle applicazioni. Oggetti e funzioni sono altri elementi fondamentali del linguaggio: gli oggetti sono contenitori nominati per valori e le funzioni sono procedure eseguibili dall'applicazione.
</p>
</section>
</main>
</body>
</html>
Your solution works from my end. Please try one of the following steps to move forward.
Click on the “Restart Step” button and force a refresh of your page with CTRL + F5 then try to paste the code in again.
or - Try the step in incognito or private mode.
or - Disable any/all extensions that interface with the freeCodeCamp website (such as Dark Mode, Ad Blockers, or Spellcheckers), and set your browser zoom level to 100%. Both of these factors can cause tests to fail erroneously.
or - Ensure your browser is up-to-date or try a different browser.