JavaScript Scope

Rækkevidde er den samling af variabler, du har adgang til.

JavaScript funktionsskoletype

Der er to typer rækkevidder i JavaScript:

  • Lokal rækkevidde
  • Global rækkevidde

JavaScript har funktionsskoletyper: Hver funktion opretter en ny rækkevidde.

Rækkevidden bestemmer disse variablers tilgængelighed (synlighed).

Variabler defineret inde i funktionen er utilgængelige (usynlige) fra uden for funktionen.

lokale JavaScript variabler

Variabler erklæret i en JavaScript funktion, vil blive funktionenslokale variabler

Rækkevidden for lokale variabler erLokal:Kan kun tilgås inden for funktionen.

Eksempel

// Denne kode kan ikke bruge carName variablen
function myFunction() {
    var carName = "porsche";
    // Denne kode kan bruge carName variablen
}

Prøv det selv

Da lokale variabler kun kan genkendes inde i funktionen, kan samme variabelnavn bruges i forskellige funktioner.

Lokale variabler oprettes ved funktionens start og slettes ved funktionens afslutning.

globale JavaScript variabler

Variabler erklæret uden for en funktion, vil bliveGlobale variabler

Rækkevidden for globale variabler erGlobal:Alt script og funktioner på websiden kan få adgang til det.

Eksempel

var carName = "porsche";
// Denne kode kan bruge carName variablen
function myFunction() {
    // Denne kode kan bruge carName variablen
}

Prøv det selv

JavaScript variabler

I JavaScript er objekter og funktioner også variabler.

Rækkevidden bestemmer adgangen til variabler, objekter og funktioner fra forskellige dele af koden.

automatisk global

Hvis du tildeler en værdi til en endnu ikke erklæret variabel, vil denne variabel automatisk bliveGlobalvariabel.

Denne kode vil erklære en global variabel carName, selvom der er tildelt værdi inden for funktionen.

Eksempel

myFunction();
// Denne kode kan bruge carName variablen
function myFunction() {
    carName = "porsche";
}

Prøv det selv

Strict mode

Alle moderne browsere understøtter at køre JavaScript i "strict mode".

Du vil lære mere om, hvordan du bruger "strict mode", i senere kapitler af denne vejledning.

Der oprettes ikke automatisk globale variabler i "strict mode".

Globale variabler i HTML

Gennem JavaScript dannes en fuld JavaScript miljø i HTML.

I HTML er global rækkevidde window. Alle globale variabler tilhører window-objektet.

Eksempel

var carName = "porsche";
// Koden her kan bruge window.carName

Prøv det selv

Advarsel

Undgå at oprette globale variabler, medmindre det er bevidst.

Dine globale variabler (eller funktioner) kan overskrive window variabler (eller funktioner).

Enhver funktion, herunder window-objektet, kan overskrive dine globale variabler og funktioner.

JavaScript variablers gyldighed

JavaScript variablers gyldighed begynder, når de bliver oprettet.

Lokale variabler vil blive slettet, når funktionen er færdig.

Globale variabler vil blive slettet, når du lukker siden.

Funktionens parametre

Funktionens parametre er også lokale variabler inden for funktionen.