Насколько я знаю, переменные, объявленные внутри функции, являются локальными переменными (с использованием ключевого слова var
или нет). Если да, то почему этот вывод 5
? Должен ли я получить ReferenceError
при вызове func2
, потому что x
известен только func1
?Создание глобальных переменных внутри функции - почему это работает?
<script>
function func1(){
x = 5;
}
function func2(){
document.write(x);
}
func1();
func2();
</script>
_ "переменные, объявленные внутри функции" _, что вы не сделали поскольку вы не использовали 'let' или' var' –
Переменные локальны, когда объявлены с помощью 'val'. В противном случае они глобальны. –
Читайте на [JavaScript Scope] (https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/). –