Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Laajuudet | Funktioiden Hallinta
Johdanto JavaScriptiin

bookLaajuudet

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Scope tarkoittaa aluetta koodissa, jossa muuttujaan voidaan päästä käsiksi tai sitä voidaan käyttää.

Scopeja on kahta tyyppiä:

  1. Globaali scope;
  2. Paikallinen scope.

Jos muuttuja määritellään koodilohkon sisällä (aaltosulkujen {} välissä), sillä on paikallinen scope. Tämä tarkoittaa, että siihen pääsee käsiksi vain sisältäpäin kyseisestä funktiosta tai koodilohkosta, tai mistä tahansa sisäkkäisestä lohkosta:

123456789101112
function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
copy

Muuttuja, joka on määritelty minkä tahansa koodilohkon ulkopuolella, on globaali muuttuja (Global Scope), ja siihen pääsee käsiksi mistä tahansa:

123456789101112
let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
copy

Alemmassa (sisäkkäisessä) laajuudessa määriteltyyn muuttujaan ei voi päästä käsiksi ylemmästä (vanhemmasta) laajuudesta:

function exampleFunc() {
  if (10 + 10 == 20) {
    let exampleVariable = 10;
    console.log(exampleVariable);
    // Output: 10
    // The variable is defined in this block, so it is accessible here
  }

  console.log(exampleVariable);
  // ReferenceError: exampleVariable is not defined
  // The variable was defined inside the if-block and is not accessible outside it
}

exampleFunc();

console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Note
Huomio

Tämä esimerkki sisältää tarkoituksellisia virheitä havainnollistaakseen, miten muuttujien näkyvyysalue toimii. Koodin suoritus pysähtyisi ensimmäiseen virheeseen, joten koodinpätkä on esitetty vain selitystarkoituksessa.

question mark

Mikä seuraavista väittämistä muuttujien näkyvyysalueesta on tosi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 4
some-alt