Променливи в JavaScript са съществени за съхраняване и обработка на данни. Важно е да разбереш къде тези променливи са валидни и до какви области от кода имаш достъп. Като се има предвид различните видове променливи – глобални и локални – разбирането на „Scopes“ (област на видимост) е от основно значение. Нека да потопим и да разберем какво представляват глобалните и локалните променливи.

Най-важни заключения

  • Глобалните променливи са достъпни навсякъде в кода, докато локалните променливи са видими само в рамките на тяхната функция.
  • Дефинирането на променлива извън функция прави нея глобална, докато дефинирането вътре в функция я прави локална.
  • За ясна и поддържаща структура на кода, добре е глобалните променливи да бъдат декларирани в началото на скрипта.

Стъпка по стъпка ръководство

Дефиниция на променливи и тяхната видимост

В първата стъпка ще разгледаме как можеш да създадеш променлива и какво означава нейната видимост. Когато декларираш променлива извън всяка функция, както е показано в следващия пример, тя е глобална.

Глобални и локални променливи в JavaScript

Тук създаваме глобална променлива с име meineVariable.

Създаване на функции с локални променливи

Следващата стъпка е да създадем две функции. Една функция ще наречем lokaleFunktion, в която ще създадем локална променлива. Тази променлива е видима само в рамките на функцията. Нека да дефинираме нашата функция.

В локалната функция създаваш локална променлива lokaleV със стойност 5 и я извеждаш.

Извикване на функциите

Сега искаме да извикаме локалната функция, за да изведем числото 5. След като извикаме функцията в кода, извеждането изглежда така:

Тестване на видимостта на локалната променлива

Сега ще опитаме да използваме локалната променлива lokaleV в друга функция. Ще забележиш, че това не работи. Нека да направим извикване на другата функция и да видим какво ще се случи.

Получаваме грешка, защото променливата lokaleV е видима само в рамките на локалната функция.

Проверка на грешките в конзолата

За да разберем по-добре защо възниква грешката, ще разгледаме кода в конзолата. С десен клик и избор на „Разгледай“ можеш да отвориш DOM експлорера и конзолата, за да анализираш грешката.

Глобални и локални променливи в JavaScript

Там ще се покаже, че lokaleV е undefined. Това потвърдва предположението, че променливата не съществува извън своята функция.

Дефиниране на глобална променлива

Нека сега да създадем глобална променлива, която можем да използваме в двете функции. Ще наречем тази променлива globaleVariable и ще й зададем прост текстов стойност.

Глобални и локални променливи в JavaScript

Сега тази глобална променлива може да бъде извикана в двете функции и изходът ще бъде същия. Нека да тестваме това веднъж.

Глобални и локални променливи в JavaScript

Дефиниция на променливи и ред на извикване

Важно е да се отбележи, че редът на дефиниране на променливи и функции е решаващ. Когато създаваш глобална променлива под нейното използване, това ще доведе до проблем с undefined.

Това е така, защото функцията, която се нуждае от глобалната променлива, я извиква преди да бъде дефинирана. За да избегнем това, е препоръчително глобалните променливи да се дефинират най-горе в кода.

Повече за локалните променливи и тяхното използване

Сега ще създадем отново локална променлива в друга функция. Тук ще я наречем lokaleVariable и ще зададем стойността й на 12.

Можем също да използваме тази локална променлива, но само в рамките на собствената си функция, не и в други. Когато използваш двете локални променливи, това може да осигури търпение и ред в твоите програми, в зависимост от сложността.

Обобщение на концепциите

Сега разбираш основните концепции относно видимостта и обхвата на променливи в JavaScript. Глобалните променливи са видими за всички функции, докато локалните променливи съществуват само в рамките на своята функция. Препоръчително е глобалните променливи да се дефинират на централно място в кода, за да се подобри четимостта и поддържането.

Обобщение – Видимостта на променливите в JavaScript

В заключение, научихте, че начинът, по който дефинирате променливи, има пряк влияние върху тяхната видимост и обхват. Винаги внимавай къде поставяш променливите, за да избегнеш грешки.

Често задавани въпроси

Какво са глобални променливи?Глобалните променливи са променливи, които са декларирани извън функции и следователно са достъпни в целия скрипт.

Какво са локални променливи?Локалните променливи са променливи, които са създадени в рамките на функция и са видими само в тази функция.

Как мога най-добре да използвам глобалните променливи?Препоръчва се глобалните променливи да бъдат дефинирани в началото на скрипта, за да се осигури ясна структура и по-добра поддръжка.

Мога ли да използвам локални променливи извън функцията им?Не, локалните променливи са видими само в рамките на функцията, в която са дефинирани.

Как да се справя с грешките undefined?Обърни внимание на реда, в който дефинираш променливи и функции, за да се увериш, че необходимите променливи са дефинирани преди да бъдат използвани.