Een van de grootste wachtwoorden in JavaScript is afsluiten. Hij is het onderwerp van veel vragen over sollicitatiegesprekken bij FAANG-bedrijven. In dit artikel zullen we het hebben over hek en doel, de concepten illustreren met eenvoudige voorbeelden en eindigen met een voorbeeldvraag uit een interview met een van de grootste techgiganten.
Als iemand je vertelt dat iets wel of geen deel uitmaakt van een project, wat betekent dat dan?
Ik zou graag willen denken aan een periscoop of een telescoop als ik denk aan het antwoord op deze vraag. Deze tools laten ons allerlei dingen zien binnen de grenzen van de lens die hij heeft: hij is in veld. Als het buiten bereik is, kunt u niet verder kijken dan de diameter van de lens. En iets buiten de diameter verlichten is niet mogelijk. U moet hierover nadenken, aangezien we het hebben over drie zeer belangrijke en verschillende soorten scopes in JavaScript: lokaal, globaal en lexicaal.
Lokale scope
De lokale scope is de kleinste van de drie scopes die we vandaag zullen bespreken. Wanneer we een functie declareren, wordt alles tussen vierkante haken ({}) als lokaal voor de functie beschouwd. Wanneer de JavaScript-engine de functie leest, declareert het de variabelen; wanneer het eindigt, worden de variabelen vernietigd.
Zoals u kunt zien, wanneer "console.log ()" het resultaat is van de aangeroepen begroetingsfunctie, kunnen we toegang krijgen tot de WebsiteName na de functie gespeeld. Dit geeft ons het kanaal "Hallo Karma Career" waarnaar we op zoek waren. Zoals reeds vermeld, genereert de console.log () van de variabele die in de functie is gedeclareerd een fout omdat deze niet kan worden gedefinieerd .
, de reden waarom WebsiteName niet gedefinieerd is, is omdat variabelen binnen functies worden gemaakt wanneer ze worden aangeroepen en vervolgens worden vernietigd wanneer de terminalinstructie wordt uitgevoerd. Alles buiten de functie heeft geen toegang tot dingen binnen de functie, tenzij het heeft een bepaalde configuratie.
algemeen bereik
Dit volgende veld is vrijwel een letterlijke vertaling van de zin. Een globaal bereik neemt elementen die buiten een functie zijn gedeclareerd en reserveert ze in een spatie waar alle scripts, methoden en functies ze kunnen benaderen en gebruiken voor hun eigen logica.
Wat doet de bovenstaande code als console.log ()
telt aan het einde van de code? Wat hoop je dat er gaat gebeuren?