2.1 KiB
2.1 KiB
title | localeTitle |
---|---|
Global Scope and Functions | Глобальная область и функции |
Глобальная область и функции
Объем переменной - ее видимость; где в коде функция доступна? Вот список различных областей, которые может иметь переменная.
- Глобальная область : переменная доступна во всем коде
- Локальная область : доступна только в определенной области (например, только внутри функции)
- Область блока : доступна в еще более определенной области (например, if-statement)
Ваша задача - понять, как добавление var
(а не добавление) перед именем переменной может изменить область переменной.
Когда вы добавляете var
перед именем переменной, его область определяется по месту ее размещения. Вот так:
var num1 = 18; // Global scope
function fun() {
var num2 = 20; // Local (Function) Scope
if (true) {
var num3 = 22; // Block Scope (within an if-statement)
}
}
Когда вы этого не сделаете, это результат:
num1 = 18; // Global scope
function fun() {
num2 = 20; // Global Scope
if (true) {
num3 = 22; // Global Scope
}
}
Хорошо, вот основное решение для кода.
// Declare your variable here
var myGlobal = 10;
function fun1() {
oopsGlobal = 5;
}
// Only change code above this line
function fun2() {
var output = "";
if (typeof myGlobal != "undefined") {
output += "myGlobal: " + myGlobal;
}
if (typeof oopsGlobal != "undefined") {
output += " oopsGlobal: " + oopsGlobal;
}
console.log(output);
}