BananaMaster

43 - Область видимости или как работает компилятор (JS уроки)

Если что то забыли кликни для перехода на урок

Task 1.

const a = 1;
function fun1() {
    const a = 2;
    function fun2() {
        console.log(a);
    }
    fun2()
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 2.

function fun1() {
    const b = 10;
    function fun2() {
        console.log(b);
    }
    fun2()
}
fun2()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 3.

function fun1() {
    const c = 100;
    function fun2() {
        const c = 200;
        function fun3() {
            console.log(c);
        }
        fun3()
    }
    fun2()
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 4.

function fun1() {
    console.log(d);
    const d = 5;
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 5.

function fun1() {
    const e = 'outer';
    if (true) {
        const e = 'inner';
        console.log(e);
    }
    console.log(e);
}
fun1()

Что выведется в консоль? Сколько раз и в каком порядке?

Task 6.

function fun1() {
    function fun2() {
        const f = 'hello';
        function fun3() {
            console.log(f);
        }
    }
    fun2()
    fun3()
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 7.

function fun1() {
    const g = 1;
    function fun2() {
        const g = 2;
        function fun3() {
            const g = 3;
            console.log(g);
        }
        fun3()
    }
    fun2()
    console.log(g);
}
fun1()

Что выведется в консоль? Сколько раз и в каком порядке?

Task 8.

function fun1() {
    const h = 'A';
    function fun2() {
        console.log(h);
    }
    console.log(h);
    fun2()
}
fun1()

Что выведется в консоль? Сколько раз и в каком порядке?

Task 9.

function fun1() {
    function fun2() {
        console.log(i);
    }
    fun2()
    const i = 'late';
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 10.

const j = 'global';
function fun1() {
    function fun2() {
        console.log(j);
    }
    fun2()
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 11.

function fun1() {
    function fun2() {
        const k = 'inside fun2';
        console.log(k);
    }
    fun2()
}
fun1()
fun2()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 12.

function fun1() {
    const n = 'first';
    function fun2() {
        const n = 'second';
        function fun3() {
            const n = 'third';
            console.log(n);
        }
        fun3()
        console.log(n);
    }
    fun2()
    console.log(n);
}
fun1()

Что выведется в консоль? Сколько раз и в каком порядке?

Task 13.

function fun1() {
    const o = 'top';
    if (true) {
        console.log(o);
    }
    console.log(o);
}
fun1()

Что выведется в консоль? Сколько раз и в каком порядке?

Task 14.

function fun1() {
    function fun2() {
        const p = 'deep value';
    }
    fun2()
    console.log(p);
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.

Task 15.

function fun1() {
    function fun2() {
        function fun3() {
            const r = 'inside fun3';
            console.log(r);
        }
        fun3()
    }
    fun2()
    console.log(r);
}
fun1()

Что выведется в консоль? Если будет ошибка — объясните какая и почему.