Почитай про области видимости и контексты в JavaScript (это не одно и то же).
https://learn.javascript.ru/functions-closures - области видимости
javascript.ru/ecma/part10 - контексты
Если кратко, то функция образует свой скоп (область видимости), когда ты в этом скопе (внутри функции) переменную объявляешь, то она будет видна только внутри этой фунции (замыкается внутри этой функции). Если тебе нужно получить значение
x то тебе нужно её либо объявить вне функции, либо возвратить как результат выполнения фунции.
Примеры писать не буду, так как есть выше.